はじめに
RecyclerViewでアイテム情報更新時のチラつきを防ぐ方法について解説。
方法
アイテム毎に固有のIDを持たせるため、Adapterに以下の項目を追加。
setHasStableIdsをtrueにする
getItemIdメソッドをoverrideする
コードは以下の通り。
class TestAdapter : RecyclerView.Adapter<TestAdapter.ViewHolder>() { init { setHasStableIds(true) } override fun getItemId(position: Int): Long { return list[position].id } //省略... }