Ich habe ein gutes Tutorial mit einigen Änderungen durchgeführt, um eine benutzerdefinierte ListView zu erstellen, mit der ich mehrere Bilder für jede Zeile in meinem ListView anzeigen kann. Ich möchte markieren, indem Sie mehrere Elemente in der Liste auswählen und dann eine Aktion für alle diese Listenelemente ausführen, indem Sie eine Option in meinem Optionsmenü auswählen. Es scheint jedoch, dass das Problem darin besteht, dass ich nicht mehrere Objekte auswählen kann, obwohl ich android:choiceMode="multipleChoice"
zur ListView in der .xml-Datei hinzugefügt habe. Ich weiß, dass dies mit Kontrollkästchen oder Optionsfeldern möglich ist, aber ich würde das lieber vermeiden. Ich habe meinen Quellcode unten angehängt. Jede Hilfe wäre willkommen. Schließlich, dank Ссылка für ein tolles Tutorial. Danke.
CustomlistviewActivity.java
%Vor%FootballLegendListAdapter.java
%Vor%FootballLegend.java
%Vor%legend_row_item.xml
%Vor%activity_customlistview.xml
%Vor% Die Wurzel View
jedes Elements, das Sie in der Liste anzeigen, muss Checkable
implementieren. Wenn Sie diese Schnittstelle implementieren, aktualisieren Sie auch den Zeichenstatus von View. Siehe diese Antwort für die Vorgehensweise.
Legen Sie für das root <selector>
ein View
als Hintergrund als Hintergrund fest. Welche andere Farbe / Zeichen sind für den Status "geprüft" und "normal" verfügbar?
Stellen Sie den Auswahlmodus von ListView
auf Single Choice oder Multi-Choice.
Im Listenadapter können Sie Elementansichten mit der oben erstellten Ansicht als übergeordnetes Layout bereitstellen.
Nun wird ListView
darauf achten, in seinen Objektansichten den aktivierten / deaktivierten Status zu aktivieren. Sie können auch getCheckedItemIds()
oder getCheckedItemPositions()
auf ListView
aufrufen, um aktuell ausgewählte Elemente zu erhalten.
Tags und Links java android android-listview custom-adapter