Это похоже на неприятный хак.Но ладно ...
Дело в том, что в вашем списке не будет детей, если список не отображается для пользователя. Но вы должны понимать, что getChildCount
вернет количество видимых элементов списка (так, может быть, около 10 просмотров), и их положение никогда не будет соответствовать фактической позиции элемента в адаптере.
Если вам действительно нужно общаться с представлениями на таком низком уровне, вы можете попробовать подключить прослушиватель прокрутки к вашему списку:
@Override
public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {
for (int i = 0; i < visibleItemCount; i++) {
View child = getChildAt(i);
// i + firstVisibleItem == the actual item position in the adapter
}
}