一、关于LinearLayoutManager或GridLayoutManager获取当前屏幕第一个条目的位置或最后一个位置的方法;
findFirstCompletelyVisibleItemPosition(), findFirstVisibleItemPosition() : 可以获取屏幕中展示第一个item的position值
findLastCompletelyVisibleItemPosition(), findLastVisibleItemPosition(): 可以获取屏幕中展示最后一个item的position值
二、关于StaggeredGridLayoutManager获取当前屏幕第一个条目的位置或最后一个位置的方法;
StaggeredGridLayoutManager中的上面的那些方法,是需要传一个int[]数组的。所以应该这些写:
int[] mFirstVisibleItems = null;
mFirstVisibleItems = staggeredGridLayoutManager.findFirstVisibleItemPositions(mFirstVisibleItems);
//以下代码不需要,打印出来作为验证;
if(firstVisibleItems != null){
for (int i = 0; i < firstVisibleItems.length; i++){
LogUtils.i("====打印当前屏幕的第一第二个条目的position位置===" + mFirstVisibleItems[i]);
}
}
int[]数组中,第一个索引的值就是当前屏幕显示的第一个条目position的位置;
更多推荐
获取RecyclerView当前屏幕显示的第一个条目的position位置
发布评论