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) + } } }