我有一堆ArrayLists填充数据。我想要做的就是使用数组列表来填充spinners。在其他SO问题中,人们创建自己的适配器并将ArrayList作为字段存储,但我不需要这样做。有没有一种简单的方法来用ArrayList填充微调器?
我只想填充微调框。我不认为有件事这很容易,但有任何类似
mySpinner.populate(myList);
我有一堆ArrayLists填充数据。我想要做的就是使用数组列表来填充spinners。在其他SO问题中,人们创建自己的适配器并将ArrayList作为字段存储,但我不需要这样做。有没有一种简单的方法来用ArrayList填充微调器?
我只想填充微调框。我不认为有件事这很容易,但有任何类似
mySpinner.populate(myList);
只需使用内置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()方法。)
ArrayAdapters
有一个add()
方法将事物存储到其内部列表中。不需要创建自己的。尝试是这样的:
for(Object ob : yourArrayList)
<arrayAdapter>.add(ob);
<arrayAdapter>.notifyDataSetChanged();
我会改变Object
是不管你收集的List
使用。
只有在您的arrayAdapter是使用可变数据结构创建的情况下才能使用。 – Nick 2012-08-16 14:58:20