wake-up-neo.com

Android Spinner mit ArrayList <String>

Ich habe bisher Werte von Spinner aus XML-String-Arrays verwendet, wie:

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());

Kann ich einen lokalen Java ArrayList-String als Liste der Elemente verwenden, die im Dropdown-Menü angezeigt werden sollen?

Etwas wie:

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());

Ich weiß, dass der obige Code nicht funktioniert, aber ich möchte etwas wissen, das mit ArrayList-String funktioniert.

22
user2901219

Ja. Rufen Sie einfach nicht createFromResource() auf Ihrem Adapter auf. Verwenden Sie stattdessen einen der Konstruktoren. Etwas wie

ArrayAdapter<String> karant_adapter = new ArrayAdapter<String>(this,
     Android.R.layout.simple_spinner_item, return_likes);

Dies ist nur ein Beispiel, bei dem Sie möglicherweise etwas anderes ändern müssen, damit es funktioniert, je nachdem, was nicht funktioniert. Aber The ArrayAdapter Docs sollte helfen.

53
codeMagic