Wählen Sie den voreingestellten ausgewählten Eintrag des ListView Alert Dialogs in Android

8

Ich habe einen Dialog mit einem benutzerdefinierten ListView erstellt, der eine Spinner -Anzeige modelliert, und er beginnt ursprünglich mit dem Wert "Select Gender".

Wenn das Dialogfeld geöffnet wird, werden Sie zur Auswahl aufgefordert (genau wie bei einem Drehfeld). Wenn die Auswahl erneut ausgewählt wird, werden dieselben Optionen angezeigt, es wird jedoch nicht angegeben, welche Option bereits ausgewählt wurde.

Beispiel:
Standardwert: "Geschlecht auswählen"
Der Dialog öffnet sich ohne Auswahl Benutzer wählt: "Männlich"
Benutzer öffnet Dialog erneut ...
Dialog öffnet sich ohne Auswahl

( Ich möchte, dass "männlich" ausgewählt ist, da dies die letzte Auswahl war )

Hier ist mein Code bis jetzt:

%Vor%

genderAlert.getListView().setSelection(0) setzt den ausgewählten Standard nicht auf als "Männlich"
genderAlert.getListView().setSelection(1) setzt den ausgewählten Standard nicht auf als "Weiblich" p>     

Rawr 30.08.2012, 02:10
quelle

1 Antwort

19

Ich habe es herausgefunden:

Ich habe von .setAdapter auf .setSingleChoiceItems gewechselt, was ein Argument für die Standardauswahl hat. Dann musste ich nur eine globale Variable erstellen, die jedes Mal gesetzt wurde, wenn ich auf eine Option klickte. Die globale Variable ist anfänglich auf -1 gesetzt, so dass keine Option ausgewählt ist. Wenn ich dann auf etwas klicke, wird sie auf die Position gesetzt und beim nächsten Erstellen des Dialogs spiegelt die Auswahl meine vorherige Auswahl wider. Siehe unten:

%Vor%     
Rawr 30.08.2012, 02:58
quelle

Tags und Links