LoginSignup
12

More than 3 years have passed since last update.

Organization

RecyclerViewでスクロール位置を復元する

RecyclerViewでスクロール位置を復元したい場合、だいたい position を保持しておいて、それを使って復元するのが王道な感じですが、別の方法もあるようだったのでメモがてら投稿。

// 保持
val state: Parcelable = recyclerView.layoutManager?.onSaveInstanceState()

// 復元
recyclerView.layoutManager?.onRestoreInstanceState(state)

LayoutManageronSaveInstanceState を呼ぶことで、スクロール位置などの情報を持った Parcelable を取得できるので、それを使う方法です。

onSaveInstanceState の場合、オフセットなども良しなに?計算してくれているようなので、 position を保持する方法よりも、いいかもしれないです。

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
What you can do with signing up
12