Maison  >  Article  >  Java  >  Comment présélectionner un élément dans une fileuse en fonction de la valeur sous Android ?

Comment présélectionner un élément dans une fileuse en fonction de la valeur sous Android ?

Linda Hamilton
Linda Hamiltonoriginal
2024-10-30 21:51:021004parcourir

How to Preselect an Item in a Spinner Based on Value in Android?

Présélectionner un élément dans Spinner en fonction de la valeur

Lors de la mise à jour d'une vue, il est souvent nécessaire de présélectionner une valeur stockée dans une base de données pour un Contrôle du fileur. L'approche par défaut utilisant la méthode indexOf de l'adaptateur est limitée.

Au lieu de cela, vous pouvez obtenir cette présélection en comparant la valeur cible aux éléments du Spinner à l'aide d'un ArrayAdapter. Voici un exemple :

<code class="java">public void setSpinner(String value) {
    ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.select_state, android.R.layout.simple_spinner_item);
    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

    if (value != null) {
        int spinnerPosition = adapter.getPosition(value);
        getSpinnerField().setSelection(spinnerPosition);
    }
}</code>

Dans ce code :

  • Nous créons un ArrayAdapter en utilisant un fichier de ressources et un style appropriés.
  • Nous vérifions si la valeur cible n'est pas nul.
  • Si la valeur est valide, nous trouvons sa position dans l'adaptateur à l'aide de getPosition.
  • Enfin, nous définissons la sélection du Spinner à la position trouvée.

Cette approche vous permet de présélectionner un élément dans un Spinner en fonction de la valeur stockée, et non de sa position. C'est une solution propre et efficace pour mettre à jour les vues avec des données spécifiques.

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