This is because it is always called. It happens that getView() is called every time you scroll through the ListView . When an item is placed outside the ListView (not visible to the user), it is passed as a converted view ( convertView ) to getView() to fill it with data, which will be a new item that will be loaded from the other side of the scroll. You also cannot predict this action, since the number of visible elements in the ListView will vary depending on the screen size. You can override getView() and check at what point you need to activate the action.
source share