Android Spinner с помощью ArrayList <String>
Я использую значения spinner из строковых массивов XML до тех пор, как:
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());
Можно ли использовать локальную строку Java ArrayList-String в качестве списка элементов, которые будут отображаться в выпадающем меню?
Что-то вроде:
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());
Я знаю, что приведенный выше код не работает, но я хотел бы знать что-то, что работает с использованием ArrayList-string.
Ответы
Ответ 1
Да. Просто не назовите createFromResource()
на Adapter
. Вместо этого используйте один из конструкторов. Что-то вроде
ArrayAdapter<String> karant_adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_spinner_item, return_likes);
Это просто пример того, что вам, возможно, придется что-то изменить, чтобы заставить его работать в зависимости от того, что не работает. Но Документы ArrayAdapter должны помочь.