Définition de l'élément sélectionné par Spinner par valeur : un guide complet
Lorsque vous travaillez avec le widget Spinner d'Android, il peut être nécessaire de présélectionner un élément en fonction sur sa valeur plutôt que sur sa position dans la liste. Pour y parvenir, les étapes suivantes peuvent être suivies :
Étape 1 : Créer et initialiser le spinner avec un ArrayAdapter
<code class="java">Spinner mSpinner = (Spinner) findViewById(R.id.my_spinner); ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.my_array, android.R.layout.simple_spinner_item); adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); mSpinner.setAdapter(adapter);</code>
Étape 2 : Récupérer la valeur à présélectionner
En supposant que la valeur souhaitée soit stockée dans une variable nommée preselectedValue, récupérez-la comme suit :
<code class="java">String preselectedValue = /* Fetch the stored value here */;</code>
Étape 3 : Rechercher le poste de la valeur présélectionnée
La position de la valeur présélectionnée dans l'adaptateur du Spinner peut être obtenue à l'aide de la méthode getPosition() de l'ArrayAdapter :
<code class="java">int position = adapter.getPosition(preselectedValue);</code>
Étape 4 : Définissez la sélection du Spinner
Une fois la position de la valeur présélectionnée connue, définissez l'élément sélectionné du Spinner à l'aide de la méthode setSelection() :
<code class="java">mSpinner.setSelection(position);</code>
Voici un code complet extrait pour illustrer l'ensemble du processus :
<code class="java">String preselectedValue = /* Fetch the stored value here */; Spinner mSpinner = (Spinner) findViewById(R.id.my_spinner); ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.my_array, android.R.layout.simple_spinner_item); adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); mSpinner.setAdapter(adapter); if (preselectedValue != null) { int position = adapter.getPosition(preselectedValue); mSpinner.setSelection(position); }</code>
En suivant ces étapes, vous pouvez facilement présélectionner une valeur dans un Spinner en recherchant sa position dans l'adaptateur sous-jacent.
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!