2011-12-21 91 views
4

我在微調器中設置了一個動態值。我正在使用以下代碼。Android微調器佈局

spinner_generalbooks.setAdapter(new ArrayAdapter<String>(getApplicationContext(), android.R.layout.simple_spinner_item, new String[]{"Author","ISBN","Keyword","Title"})); 

它工作正常,但我有一個與微調視圖的問題。如果我們選擇simple_spinner_item,在正常狀態下可以,但是當我們想要更改它時,行非常窄,而不是CheckedTextView,而在正常的微調器選項中帶有CheckedTextView。如果我們選擇simple_spinner_dropdown_item,選項配備CheckedTextView,但在正常狀態下,它看起來在PIC

不同的(第一個是默認的微調和第二個是使用simple_spinner_dropdown_item)。

First one is default spinner and second one is using <code>simple_spinner_dropdown_item</code>

我想要顯示的微調就像爲默認微調。如何做到這一點?

+0

張貼代碼.. – 2011-12-21 10:17:12

回答

5

的Android將在適配器中指定的佈局,除非您單獨指定視圖資源使用它的控制和項目。通過這種方式是將佈局設置爲simple_item在ArrayAdapter構造函數中,然後在調用setDropDownViewResource()時分別設置佈局dropdown_item

ArrayAdapter newAdapter = new ArrayAdapter(getApplicationContext(), android.R.layout.simple_spinner_item, new String[]{"Author","ISBN","Keyword","Title"}); 

newAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 

spinner_generalbooks.setAdapter(newAdapter); 
1

如果您想自定義Spinner的視覺效果,創建自己的組件會更加簡單。微調只是一個包含文本,圖像並在彈出窗口中顯示列表的佈局。爲項目創建自定義佈局,並使用新的BaseAdapter對象綁定數據。

http://thinkandroid.wordpress.com/2010/01/13/custom-baseadapters/

希望我能幫助

+0

我不想要任何自定義的一個。 – 2011-12-22 13:07:30