Heim  >  Artikel  >  Java  >  Wie wähle ich in Android einen Artikel in einem Spinner basierend auf dem Wert aus?

Wie wähle ich in Android einen Artikel in einem Spinner basierend auf dem Wert aus?

Linda Hamilton
Linda HamiltonOriginal
2024-10-30 21:51:021011Durchsuche

How to Preselect an Item in a Spinner Based on Value in Android?

Vorauswahl eines Elements im Spinner basierend auf dem Wert

Beim Aktualisieren einer Ansicht ist es häufig erforderlich, einen in einer Datenbank für a gespeicherten Wert vorab auszuwählen Spinnersteuerung. Der Standardansatz mit der indexOf-Methode des Adapters ist begrenzt.

Stattdessen können Sie diese Vorauswahl erreichen, indem Sie den Zielwert mithilfe eines ArrayAdapters mit den Elementen des Spinners vergleichen. Hier ist ein Beispiel:

<code class="java">public void setSpinner(String value) {
    ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.select_state, android.R.layout.simple_spinner_item);
    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

    if (value != null) {
        int spinnerPosition = adapter.getPosition(value);
        getSpinnerField().setSelection(spinnerPosition);
    }
}</code>

In diesem Code:

  • Wir erstellen einen ArrayAdapter mit einer geeigneten Ressourcendatei und einem geeigneten Stil.
  • Wir prüfen, ob der Zielwert vorliegt ist nicht null.
  • Wenn der Wert gültig ist, finden wir seine Position im Adapter mit getPosition.
  • Zuletzt setzen wir die Auswahl des Spinners auf die gefundene Position.

Mit diesem Ansatz können Sie ein Element in einem Spinner anhand des gespeicherten Werts und nicht anhand seiner Position vorab auswählen. Es ist eine saubere und effiziente Lösung zum Aktualisieren von Ansichten mit spezifischen Daten.

Das obige ist der detaillierte Inhalt vonWie wähle ich in Android einen Artikel in einem Spinner basierend auf dem Wert aus?. 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