Maison > Java > javaDidacticiel > Comment définir la sélection d'un spinner par valeur et non par position dans Android ?

Comment définir la sélection d'un spinner par valeur et non par position dans Android ?

Mary-Kate Olsen
Libérer: 2024-10-31 03:13:02
original
445 Les gens l'ont consulté

How to Set a Spinner's Selection by Value, Not Position in Android?

Définition de la sélection du Spinner par valeur, et non par position

Lors de la mise à jour d'une vue et la sélection du Spinner doit correspondre à une valeur stockée dans la base de données, le L'approche conventionnelle consiste à localiser la position correspondante à l'aide d'une méthode indexOf sur l'adaptateur. Cependant, cette approche se heurte à un obstacle car l'adaptateur ne fournit pas une telle méthode.

Pour surmonter ce défi, une approche plus appropriée consiste à utiliser la méthode getPosition d'ArrayAdapter. Cette méthode, lorsqu'elle est associée à un ArrayAdapter approprié, permet l'identification de la position associée à une valeur spécifique.

Considérez un scénario dans lequel le Spinner nommé mSpinner contient une valeur de "une certaine valeur". Pour localiser et comparer sa position, suivez ces étapes :

Créez un ArrayAdapter à partir du fichier de ressources R.array.select_state :

<code class="java">ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.select_state, android.R.layout.simple_spinner_item);</code>
Copier après la connexion

Définissez l'adaptateur du spinner et DropDownViewResource :

<code class="java">adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
mSpinner.setAdapter(adapter);</code>
Copier après la connexion

Ensuite, si la valeur à comparer (compareValue) n'est pas nulle :

<code class="java">if (compareValue != null) {
    int spinnerPosition = adapter.getPosition(compareValue);
    mSpinner.setSelection(spinnerPosition);
}</code>
Copier après la connexion

En employant cette approche, la sélection du Spinner peut être définie avec précision en fonction de la valeur stockée dans la base de données, offrant une expérience utilisateur transparente lors des mises à jour des vues.

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