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>
Définissez l'adaptateur du spinner et DropDownViewResource :
<code class="java">adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); mSpinner.setAdapter(adapter);</code>
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>
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!