Heim >Java >javaLernprogramm >Wie kann man das ausgewählte Element in einem Android-Spinner programmgesteuert nach Wert festlegen?

Wie kann man das ausgewählte Element in einem Android-Spinner programmgesteuert nach Wert festlegen?

Susan Sarandon
Susan SarandonOriginal
2024-10-31 17:30:02890Durchsuche

How to Programmatically Set the Selected Item in an Android Spinner by Value?

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:

  1. Definieren Sie einen Vergleichswert, zum Beispiel: String CompareValue = "some value".
  2. Erstellen Sie einen ArrayAdapter mit der erforderlichen Ressource:

    ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.select_state, android.R.layout.simple_spinner_item);
  3. Legen Sie den ArrayAdapter als Adapter für Ihren Spinner fest:

    mSpinner.setAdapter(adapter);
  4. 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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn