我正在尝试获取屏幕完全可见的第一个可见行的位置。滚动结束,如果行的部分在第一行可见,我需要选择下一个位置。怎么做?
答案 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
}