RecyclerView 开发笔记:精准恢复到原来浏览位置

1,219 阅读1分钟

项目中遇到了一个问题,一个 RecyclerView 列表切换到别的位置再切换回来的时候希望自动恢复到原来的位置。

代码如下:

第一步:定义两个成员变量

private int music_last_position;
private int music_last_offset;

第二步:获取最后位置和偏移量

music_last_position = gridLayoutManager.findLastVisibleItemPosition();
music_last_offset = gridLayoutManager.findViewByPosition(music_last_position).getTop();

第三步:移动到该位置

gridLayoutManager.scrollToPositionWithOffset(music_last_position, music_last_offset);