Android: Getting a count of the visible children in a listview

非 Y 不嫁゛ 提交于 2019-11-28 21:14:53
Nikola Despotoski

listView.getLastVisiblePosition(), is this what you are looking for? if not, Iteration through child views...

int count = 0;

for (int i = 0; i <= listView.getLastVisiblePosition(); i++)
{
    if (listView.getChildAt(i) != null)
    {
        count++;  // saying that view that counts is the one that is not null, 
                  // because sometimes you have partially visible items....
    }
}

This is a quick way to get visible children count:

int visibleChildCount = (listView1.getLastVisiblePosition() - listView1.getFirstVisiblePosition()) + 1;
Laura

In reference to greg7gkb's comment above - just wanted to point out in case anyone is using this that it will make your count off by one. It should be

(listView1.getLastVisiblePosition() - listView1.getFirstVisiblePosition()) + 1

So, if the last visible was 8 and the first visible was 5, you would have (8-5)+1 = 4 showing:5,6,7, and 8.

It looks like A. Abiri got it right below.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!