Listview getFirstVisiblePosition

时间:2012-03-17 20:53:57

标签: java android

我正在尝试获取屏幕完全可见的第一个可见行的位置。滚动结束,如果行的部分在第一行可见,我需要选择下一个位置。怎么做?

2 个答案:

答案 0 :(得分:2)

int index = list.getFirstVisiblePosition();
View v = list.getChildAt(0);
int y = (v == null) ? 0 : v.getTop();

if (y > 0 && index + 1 < list.getCount()) {
    ++index;
}

改编自this answer

答案 1 :(得分:0)

您需要在ListView上实现OnScrollListener,然后重写以下方法以获取第一个可见项:

@Override
public void onScroll(AbsListView view, int firstVisibleItem, final int visibleItemCount, final int totalItemCount) {
    //"firstVisibleItem" is the value you need to look for
}