Ausgewähltes Element des Spinners nach Wert festlegen
Beim Aktualisieren einer Ansicht müssen Sie möglicherweise einen in der Datenbank gespeicherten Wert vorab auswählen ein Spinner. Zunächst könnten Sie eine Lösung versuchen wie:
void setSpinner(String value) { int pos = getSpinnerField().getAdapter().indexOf(value); getSpinnerField().setSelection(pos); }
Dieser Ansatz stößt jedoch auf ein Hindernis, da die Adapterschnittstelle keine indexOf-Methode bereitstellt.
Lösung
Um die Position eines bestimmten Werts in Ihrem Spinner zu finden und zu vergleichen, befolgen Sie diese Schritte:
Erstellen Sie einen ArrayAdapter mit der erforderlichen Ressource:
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.select_state, android.R.layout.simple_spinner_item);
Legen Sie den ArrayAdapter als Adapter für Ihren Spinner fest:
mSpinner.setAdapter(adapter);
Verwenden Sie die getPosition-Methode, um die Position Ihres Vergleichswerts innerhalb des ArrayAdapters zu bestimmen:
if (compareValue != null) { int spinnerPosition = adapter.getPosition(compareValue); mSpinner.setSelection(spinnerPosition); }
Indem Sie diese Schritte befolgen, können Sie einen Wert in einem Spinner effektiv auf der Grundlage seines Werts vorab auswählen als seine Position in der Liste.
Das obige ist der detaillierte Inhalt vonWie kann man das ausgewählte Element in einem Android-Spinner programmgesteuert nach Wert festlegen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!