目標:項目中遇到了一個問題,一個 RecyclerView 列表切換到別的位置再切換回來的時候希望自動恢復到原來的位置。
代碼如下:
第一步:定義兩個成員變量
private int mMusicLastPosition;
private int mMusicLastOffset;
第二步:獲取最後位置和偏移量
if (mLinearLayoutManager != null) {
mMusicLastPosition = mLinearLayoutManager.findLastVisibleItemPosition();
mMusicLastOffset = mLinearLayoutManager.findViewByPosition(mMusicLastPosition).getTop();
}
第三步:移動到該位置
if (mLinearLayoutManager != null) {
mLinearLayoutManager.scrollToPositionWithOffset(mMusicLastPosition, mMusicLastOffset);
}