2

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

我只想填充微调器。我不认为有这么简单的事情,但有什么类似的

mySpinner.populate( myList );
4

2 回答 2

4

只需使用内置的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>,甚至自定义类<Kittens>(只要定义自定义类的 toString() 方法即可。)

于 2012-08-16T14:53:29.663 回答
1

ArrayAdapters有一种add()方法可以将事物存储到其内部列表中。无需创建自己的。尝试这样的事情:

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

我会变成你正在使用Object的任何集合。List

于 2012-08-16T14:56:11.793 回答