"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > 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 ?

Publié le 2024-11-10
Parcourir:852

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 que 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érons un scénario dans lequel le Spinner nommé mSpinner contient une valeur de "une certaine valeur". Pour localiser et comparer sa position, procédez comme suit :

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

ArrayAdapter adapter = ArrayAdapter.createFromResource(this, R.array.select_state, android.R.layout.simple_spinner_item);

Définissez l'adaptateur du spinner et DropDownViewResource :

adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
mSpinner.setAdapter(adapter);

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

if (compareValue != null) {
    int spinnerPosition = adapter.getPosition(compareValue);
    mSpinner.setSelection(spinnerPosition);
}

En utilisant 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 ainsi une expérience utilisateur transparente lors des mises à jour des vues.

Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3