Maison >Java >javaDidacticiel >Comment présélectionner une valeur dans un Spinner Android par sa valeur ?

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

Barbara Streisand
Barbara Streisandoriginal
2024-11-04 12:45:02275parcourir

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>

É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>

É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>

É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>

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>

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!

Déclaration:
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