Auswählen / Markieren mehrerer Elemente in der Listenansicht mit dem benutzerdefinierten Adapter - Android

8

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%     
Willis 30.10.2014, 04:24
quelle

1 Antwort

8
  1. 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.

  2. 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?

  3. Stellen Sie den Auswahlmodus von ListView auf Single Choice oder Multi-Choice.

  4. 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.

    
S.D. 30.10.2014, 04:45
quelle