RecyclerView 记录恢复滚动位置

定义两个成员变量:

    private int lastPosition = 0;
    private int lastOffset = 0;

记录位置,
OnScrollListener,onScrollStateChanged()里添加:


View topView = mLayoutManager.getChildAt(0);          //获取可视的第一个view
lastOffset = topView.getTop();                                   //获取与该view的顶部的偏移量
lastPosition = mLayoutManager.getPosition(topView);  //得到该View的数组位置   

恢复位置:

//mLayoutManager.scrollToPosition(lastPosition);
//这样更精确
((LinearLayoutManager)mLayoutManager).scrollToPositionWithOffset(lastPosition, lastOffset);
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容