Maison > Java > javaDidacticiel > le corps du texte

Comment présélectionner une valeur dans un Spinner Android par sa valeur ?

Barbara Streisand
Libérer: 2024-11-04 12:45:02
original
194 Les gens l'ont consulté

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

Définition de l'élément sélectionné par Spinner par valeur : un guide complet

Lorsque vous travaillez avec le widget Spinner d'Android, il peut être nécessaire de présélectionner un élément en fonction sur sa valeur plutôt que sur sa position dans la liste. Pour y parvenir, les étapes suivantes peuvent être suivies :

Étape 1 : Créer et initialiser le spinner avec un 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>
Copier après la connexion

Étape 2 : Récupérer la valeur à présélectionner

En supposant que la valeur souhaitée soit stockée dans une variable nommée preselectedValue, récupérez-la comme suit :

<code class="java">String preselectedValue = /* Fetch the stored value here */;</code>
Copier après la connexion

Étape 3 : Rechercher le poste de la valeur présélectionnée

La position de la valeur présélectionnée dans l'adaptateur du Spinner peut être obtenue à l'aide de la méthode getPosition() de l'ArrayAdapter :

<code class="java">int position = adapter.getPosition(preselectedValue);</code>
Copier après la connexion

Étape 4 : Définissez la sélection du Spinner

Une fois la position de la valeur présélectionnée connue, définissez l'élément sélectionné du Spinner à l'aide de la méthode setSelection() :

<code class="java">mSpinner.setSelection(position);</code>
Copier après la connexion

Voici un code complet extrait pour illustrer l'ensemble du processus :

<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>
Copier après la connexion

En suivant ces étapes, vous pouvez facilement présélectionner une valeur dans un Spinner en recherchant sa position dans l'adaptateur sous-jacent.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal