Page 1 of 1

Wie kann ich alle ausgewählten Elemente in Recyclerviews SelectionTracker abschließen, auch wenn einige Elemente vom Bil

Posted: 14 Feb 2025, 12:40
by Anonymous
Ich verwende SelectionTracker, um eine Mehrfachauswahlrecyclerview zu implementieren. Die Funktion für ausgewählte/nicht ausgewählte Funktionen funktioniert wie erwartet, wenn ich es manuell mache (das Element steht auf dem Bildschirm und ich ändere seinen Zustand durch Tippen), aber wenn ich versuche, alle Elemente zu versichern, von denen einige außerhalb des Bildschirms sind, unter Verwendung der ClearSelection -Methode des Auswahl -Tracker Die Elemente, die derzeit auf dem Bildschirm sichtbar sind

Code: Select all

tracker = SelectionTracker.Builder(
"mySelection",
recyclerView,
MyKeyProvider(recyclerView),
MyItemDetailsLookup(recyclerView),
StorageStrategy.createLongStorage()
).withSelectionPredicate(
SelectionPredicates.createSelectAnything()
).build()
recyclerAdapter.tracker = tracker
Folgendes finden Br />

Code: Select all

fun bindItems(model: Model, isActivated: Boolean) {
itemView.isActivated = isActivated
if(itemView.isActivated){
/* Do something */
}
else{
/* Do something */
}
}

override fun onBindViewHolder(holder: RecyclerAdapter.ViewHolder, position: Int) {
val number = displayList[position]
tracker?.let {
holder.bindItems(number, it.isSelected(position.toLong()))
}
}
Ich rufe die Methode für klare Auswahl auf einen Menüelement auf [/b]

Code: Select all

override fun onOptionsItemSelected(item: MenuItem?): Boolean {
if((selectionMode) && (item?.itemId==android.R.id.home)){
tracker.clearSelection()
}
return super.onOptionsItemSelected(item)
}
Bearbeiten: Dies scheint ein Fehler in der Bibliothek zu sein. Ich habe das gleiche Problem bei der Verwendung der Android -Google Mail -App angetroffen, die meiner Meinung nach SelectionTracker