Ich habe eine RecyclerView
implementiert und ich habe es eingerichtet, zu verwenden. Aber wie kann ich die ausgewählten Artikel hervorheben? Wenn eine bestimmte Position überprüft ich in einem SparseBooleanArray
gespeichert. Mein erster Gedanke war, die spezifischen View
mit allen Elementen in meinem ViewHolder
und dann in onBindViewHolder
Hintergrund irgendwie zu speichern: ?android:attr/activatedBackgroundIndicator
Aber wie kann ich das tun? Ist das ein nützlicher Ansatz?RecyclerView: Markieren Sie das ausgewählte Element
Antwort
ich dies schließlich gelöst, indem einfach ein paar kleinere Dinge hinzufügen:
Zunächst einmal die Elemente des RecyclerView haben dies als Hintergrund verwenden:
android:background="?android:attr/activatedBackgroundIndicator"
Dann gilt für die RecyclerView einfach anrufen : setSelected(true); zu den einzelnen Ansichten.
Wenn Sie die Ansicht selbst ändern möchten, müssen Sie adapter.notifyItemChanged (Position) senden, und im Gegenzug ruft die Recycler-Ansicht die onBind-Methode auf, in der Sie den Hintergrund festlegen können.
Wenn Sie die Ansicht nicht aktualisieren müssen, würde ich vorschlagen, einen Artikel Dekorator zu verwenden.
Was meinst du, ohne die Ansicht selbst aktualisieren zu müssen? Wie kann ich ein einzelnes Objekt in einer Ansicht mit Objektdekorator dekorieren? Und wie kann ich den Hintergrund mit Android: attr/activatedBackgroundIndicator? –
Wurde das jemals gelöst? – MDragon00