2010-06-09 80 views
1
  • 我有一個包含了幾個小工具的XML配置文件包括微調
  • 我想顯示的微調字符串列表,在運行時生成的列表作爲函數的結果,因此不能在arrays.xml中。

我試着這樣做:如何使用Spinner.setAdapter在Spinner中顯示字符串數組?

String[] SpinnerItems = GetMyCustomItems(); 

((Spinner)findViewById(R.id.MySpinner)).setAdapter(new ArrayAdapter<String>(getBaseContext(), android.R.layout.simple_list_item_1,SpinnerItems)); 

但這種崩潰我的應用程序。

完成此操作的正確方法是什麼?

+0

您可以發佈它在logcat中打印出錯誤堆棧? – m6tt 2010-06-09 09:52:04

回答

3

看一看這個例子 http://d.android.com/resources/tutorials/views/hello-spinner.html

它看起來像您正在實現微調和適配器時錯過了幾件事情

Spinner spinner = (Spinner) findViewById(R.id.spinner); 
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(
     this, R.array.planets_array, android.R.layout.simple_spinner_item); 
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
spinner.setAdapter(adapter); 
+0

我不想使用ArrayAdapter.createFromResource,因爲我想要顯示的數據(字符串)不在數組資源中,而是來自函數的結果。這個例子並不適用於我的情況。 – Mervin 2010-06-09 10:20:46

+0

好吧,你不需要使用createFromResource來實例化你的ArrayAdapter,但你應該使用android.R.layout.simple_spinner_item而不是android.R.layout.simple_list_item_1,你需要將setDropDownViewResource設置爲android.R.layout.simple_spinner_dropdown_item – m6tt 2010-06-09 10:28:09

+0

我現在使用這個構造函數「public ArrayAdapter(Context context,int resource,int textViewResourceId,List objects)」with android.R.layout.simple_spinner_item,android.R.layout.simple_spinner_dropdown_item(也嘗試切換這2個,仍然是這樣 – Mervin 2010-06-09 10:50:17