J'ai utilisé des valeurs de spinner à partir de tableaux de chaînes XML jusqu'à présent comme:
Spinner karant_sp;
karant_sp = (Spinner) findViewById(R.id.spinner1);
ArrayAdapter<CharSequence> karant_adapter = ArrayAdapter.createFromResource(this, R.array.karant_list, Android.R.layout.simple_spinner_item);
karant_adapter.setDropDownViewResource(Android.R.layout.simple_spinner_dropdown_item);
karant_sp.setAdapter(karant_adapter);
karant_sp.setSelection(0);
karant_sp.setOnItemSelectedListener(new select_karant());
Puis-je utiliser un local Java ArrayList-String comme liste des éléments à afficher dans le menu déroulant?
Quelque chose comme:
Spinner karant_sp;
ArrayList<String> return_likes = new ArrayList<String>();
return_likes.add("Hello");
return_likes.add("world");
karant_sp = (Spinner) findViewById(R.id.spinner1);
ArrayAdapter<CharSequence> karant_adapter = ArrayAdapter.createFromResource(this, return_likes, Android.R.layout.simple_spinner_item);
karant_adapter.setDropDownViewResource(Android.R.layout.simple_spinner_dropdown_item);
karant_sp.setAdapter(karant_adapter);
karant_sp.setSelection(0);
karant_sp.setOnItemSelectedListener(new select_karant());
Je sais que le code ci-dessus ne fonctionne pas, mais je voudrais savoir quelque chose qui fonctionne en utilisant ArrayList-string.
Oui. N'appelez simplement pas createFromResource()
sur votre Adapter
. Utilisez plutôt l'un des constructeurs. Quelque chose comme
ArrayAdapter<String> karant_adapter = new ArrayAdapter<String>(this,
Android.R.layout.simple_spinner_item, return_likes);
Ceci n'est qu'un exemple, vous devrez peut-être changer quelque chose d'autre pour le faire fonctionner en fonction de ce qui ne fonctionne pas. Mais The ArrayAdapter Docs devrait aider.