nakashimaakioのブログ

Androidアプリエンジニア / 記事に「はてなスター」よろしくお願いします。

【Android Studio】RecyclerViewでアイテム更新時のチラつきを防ぐ

はじめに

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
    }

    //省略...
}