有没有一种简单的方法来使用ArrayList填充Spinner?

时间:2012-08-16 14:49:57

标签: android spinner

我有一堆填充数据的ArrayLists。我想要做的就是使用arraylists填充微调器。在其他SO问题中,人们创建自己的适配器并将ArrayList存储为字段,但我不需要这样做。

我只想填充微调器。我认为这不容易,但有什么类似的东西

mySpinner.populate( myList );

2 个答案:

答案 0 :(得分:3)

只需使用内置的ArrayAdapter,您就不必编写自定义适配器。

List<String> list = new ArrayList<String>();
// Fill list with strings
...

ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, list);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
Spinner spinner = (Spinner) findViewById(R.id.spinner);
spinner.setAdapter(adapter);

您没有指定使用的数据类型,但无关紧要:您可以轻松地将ArrayAdapter的子类型更改为<Integer><Double>,甚至是自定义类{{1 (只要你定义自定义类toString()方法。)

答案 1 :(得分:1)

ArrayAdapters使用add()方法将内容存储到其内部列表中。无需创建自己的。尝试这样的事情:

for(Object ob : yourArrayList)
    <arrayAdapter>.add(ob);
<arrayAdapter>.notifyDataSetChanged();

我会将Object更改为您List正在使用的任何集合。