我有一堆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