如何使用androidx.recyclerview.selection选择Recyclerview中列出的所有项目?



我正在使用androidx.recyclerview.selection来选择RecyclerView中的项目。 我正在尝试构建一个编辑片段,其中它预填充了RecyclerView中的旧视图。目前,我能够从 API 调用加载旧值并通过notifyDataSetChanged调用更新适配器的列表。但是我希望选择列表中的所有项目,换句话说,我想在片段加载时以某种方式将所有项目添加到对象SelectionTracker

每当调用notifyDataSetChanged时,我都可以看到SelectionTracker的观察者onSelectionRefresh()被触发,但我无法在那里更新选择跟踪器,因为它正在进行无限调用循环。

SelectionTracker.setItemsSelected:

selectionTracker?.setItemsSelected(listOfKeysToBeSelected, true)
val size = documents.size
for(number in 0 until size){
(tracker as SelectionTracker<Long>?)?.select(number.toLong())
}

使用 for 循环从 0 开始将回收器视图的所有位置传递到单个项目的总数。

按迭代选择RecyclerView适配器中的每个项目。

假设您的密钥Long

for (i in 0 until recyclerAdapter.itemCount)
selectionTracker.select(i.toLong()) 

相关内容

最新更新