Heim >Java >javaLernprogramm >Wie wähle ich einen Wert in einem Android-Spinner anhand seines Werts aus?

Wie wähle ich einen Wert in einem Android-Spinner anhand seines Werts aus?

Barbara Streisand
Barbara StreisandOriginal
2024-11-04 12:45:02233Durchsuche

How to Preselect a Value in an Android Spinner by its Value?

Ausgewähltes Spinner-Element nach Wert festlegen: Eine umfassende Anleitung

Beim Arbeiten mit dem Spinner-Widget von Android kann es erforderlich sein, ein Element basierend auf dem Spinner vorab auszuwählen auf seinem Wert und nicht auf seiner Position innerhalb der Liste. Um dies zu erreichen, können die folgenden Schritte unternommen werden:

Schritt 1: Erstellen und Initialisieren des Spinners mit einem ArrayAdapter

<code class="java">Spinner mSpinner = (Spinner) findViewById(R.id.my_spinner);
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.my_array, android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
mSpinner.setAdapter(adapter);</code>

Schritt 2: Abrufen der Wert, der vorgewählt werden soll

Angenommen, der gewünschte Wert ist in einer Variablen namens preselectedValue gespeichert, rufen Sie ihn wie folgt ab:

<code class="java">String preselectedValue = /* Fetch the stored value here */;</code>

Schritt 3: Suchen Sie nach der Position des vorgewählten Werts

Die Position des vorgewählten Werts im Spinner-Adapter kann mit der getPosition()-Methode des ArrayAdapter ermittelt werden:

<code class="java">int position = adapter.getPosition(preselectedValue);</code>

Schritt 4 : Legen Sie die Auswahl des Spinners fest

Sobald die Position des vorgewählten Werts bekannt ist, legen Sie das ausgewählte Element des Spinners mit der Methode setSelection() fest:

<code class="java">mSpinner.setSelection(position);</code>

Hier ist ein vollständiger Code Snippet zur Veranschaulichung des gesamten Prozesses:

<code class="java">String preselectedValue = /* Fetch the stored value here */;

Spinner mSpinner = (Spinner) findViewById(R.id.my_spinner);
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.my_array, android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
mSpinner.setAdapter(adapter);

if (preselectedValue != null) {
    int position = adapter.getPosition(preselectedValue);
    mSpinner.setSelection(position);
}</code>

Indem Sie diese Schritte befolgen, können Sie ganz einfach einen Wert in einem Spinner vorab auswählen, indem Sie nach seiner Position im zugrunde liegenden Adapter suchen.

Das obige ist der detaillierte Inhalt vonWie wähle ich einen Wert in einem Android-Spinner anhand seines Werts 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