Maison > Java > javaDidacticiel > Comment définir par programme l'élément sélectionné dans un spinner Android par valeur ?

Comment définir par programme l'élément sélectionné dans un spinner Android par valeur ?

Susan Sarandon
Libérer: 2024-10-31 17:30:02
original
929 Les gens l'ont consulté

How to Programmatically Set the Selected Item in an Android Spinner by Value?

Définition de l'élément sélectionné du Spinner par valeur

Lors de la mise à jour d'une vue, vous pouvez rencontrer le besoin de présélectionner une valeur stockée dans la base de données pour un fileur. Dans un premier temps, vous pouvez essayer une solution telle que :

void setSpinner(String value)
{
    int pos = getSpinnerField().getAdapter().indexOf(value);
    getSpinnerField().setSelection(pos);
}
Copier après la connexion

Cependant, cette approche se heurte à un obstacle car l'interface de l'adaptateur ne fournit pas de méthode indexOf.

Solution

Pour rechercher et comparer la position d'une valeur spécifique dans votre Spinner, suivez ces étapes :

  1. Définissez une valeur de comparaison, par exemple : String compareValue = "some value".
  2. Créez un ArrayAdapter à l'aide de la ressource requise :

    ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.select_state, android.R.layout.simple_spinner_item);
    Copier après la connexion
  3. Définissez l'ArrayAdapter comme adaptateur pour votre Spinner :

    mSpinner.setAdapter(adapter);
    Copier après la connexion
  4. Utilisez la méthode getPosition pour déterminer la position de votre valeur de comparaison dans l'ArrayAdapter :

    if (compareValue != null) {
     int spinnerPosition = adapter.getPosition(compareValue);
     mSpinner.setSelection(spinnerPosition);
    }
    Copier après la connexion

    En suivant ces étapes, vous pouvez effectivement présélectionner une valeur dans un Spinner en fonction de sa valeur plutôt que sa position dans la liste.

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