LoginSignup
19
17

More than 5 years have passed since last update.

RecyclerViewのスクロール位置を保存したい

Posted at

RecyclerView

公式ドキュメント - RecyclerView

「Viewの再利用部分だけなんとかするから、その他は自分で実装してね」…って感じのコンポーネント。
普通のListView/GridViewで作ってもいいんですけど、個人的にはこちらが好きです。

どう書くの?

※LinearLayoutManagerの場合
(GridLayoutManager、StaggeredGridLayoutManagerの場合は、機会があれば調べてみます)

スクロール位置の保存

positionIndex = mLinearLayoutManager.findFirstVisibleItemPosition();

View startView = mRecyclerView.getChildAt(0);

positionOffset = (startView == null) ? 0 : (startView.getTop() - mRecyclerView.getPaddingTop());

保存した位置にスクロールさせる

mLinearLayoutManager.scrollToPositionWithOffset(positionIndex, positionOffset);
19
17
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
19
17