Voici un exemple de code d'utilisation de spinner dans Android:
Spinner spinner = (Spinner) findViewById(R.id.spinner);
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.gender_array, Android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(Android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adapter);
J'ai compris que nous devons spécifier une disposition pour les lignes de données dans l'adaptateur
Mais pourquoi encore utiliser la méthode setDropDownViewResource()
. Je veux dire ce que fait cette fonction et aussi me dire en quoi elle est différente du constructeur du ArrayAdapter
.
J'ai parcouru la documentation, mais je n'ai pas complètement compris.
Voici la différence - Voir les images ci-dessous
Si vous utilisez votre spinner avec spinner.setAdapter(adapter);
directement dans votre code, votre spinner ressemblera à l'image ci-dessus.
Mais, si vous utilisez adapter.setDropDownViewResource(Android.R.layout.simple_spinner_dropdown_item);
dans votre code, il montrera votre spinner comme l'image ci-dessous où les éléments du spinner seront affichés avec des boutons radio.
Normalement, la différence entre Android.R.layout.simple_spinner_dropdown_item et Android.R.layout.simple_spinner_item est
Vue déroulante simple spinner
Vue simple de spinner
La différence est la suivante: