ListView не рассчитывать против графа адаптер в Андроид


Почему listview.getChildCount() и adapter.getCount() возвращают разные значения? У меня есть метод onScroll, и из него, если я вызываю методы выше, каждый возвращает разные значения. Кто-нибудь знает почему?

2 3

2 ответа:

ListView.getChildCount() возвращает число Views на экране. Adapters getCount() возвращает общее число объектов в списке.

GetChildCount()

GetCount()

У вас может быть 50 String s, скажем, в ArrayAdapter, но в текущий момент на экране нарисовано только 10, поэтому ваш счет ListView будет 10, а ваш счет Adapter будет 50.

adapter.getCount() возвращает общее количество объектов, содержащихся в нем. listView.getChildCount() возвращает количество представлений, показанных в этом listview. Адаптер использует механизм кэширования, и многие представления используются повторно, поэтому его номер отличается от показанного в adapter.getCount()