From d130aa02a123d2ef292dad02aaeced0c37011535 Mon Sep 17 00:00:00 2001 From: LoveSy Date: Fri, 10 Mar 2023 08:00:08 +0800 Subject: [PATCH] Do not always create new adapter --- .../java/com/topjohnwu/magisk/databinding/RvItemAdapter.kt | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/com/topjohnwu/magisk/databinding/RvItemAdapter.kt b/app/src/main/java/com/topjohnwu/magisk/databinding/RvItemAdapter.kt index bd6216199..981b15299 100644 --- a/app/src/main/java/com/topjohnwu/magisk/databinding/RvItemAdapter.kt +++ b/app/src/main/java/com/topjohnwu/magisk/databinding/RvItemAdapter.kt @@ -15,7 +15,7 @@ import androidx.recyclerview.widget.RecyclerView import com.topjohnwu.magisk.BR class RvItemAdapter( - private val items: List, + internal val items: List, private val extraBindings: SparseArray<*>? ) : RecyclerView.Adapter() { @@ -113,6 +113,8 @@ inline fun bindExtra(body: (SparseArray) -> Unit) = SparseArray().al @BindingAdapter("items", "extraBindings", requireAll = false) fun RecyclerView.setAdapter(items: List?, extraBindings: SparseArray<*>?) { if (items != null) { - adapter = RvItemAdapter(items, extraBindings) + if ((adapter as? RvItemAdapter)?.items !== items) { + adapter = RvItemAdapter(items, extraBindings) + } } }