【備忘録】RecyclerViewの更新時に意図しないスクロールを回避する方法

コード

val recyclerViewState = recyclerView.layoutManager?.onSaveInstanceState()
// RccylerViewの更新処理
recyclerView.layoutManager?.onRestoreInstanceState(recyclerViewState)

説明

onSaveInstanceState()でRecyclerViewの状態を取得、RecyclerViewの更新処理を行って、その後onRestoreInstanceState(recyclerViewState)でRecyclerViewの状態を戻す。 そうすることによって、RecyclerViewのスクロール位置も維持された状態になる

環境

Android Studio 4.2.2 androidx.recyclerview:recyclerview:1.2.1

現場からは以上です。