2011-04-05 76 views
5

我有一個小問題spinnerandroid spinner performClickItemSelected

我創建了一個Spinner用戶單擊一個按鈕。 Spinner顯示爲應該是,但當onItemSelected應該被稱爲沒有反應。

下面是代碼

public void setUpSpinner(){ 
    spinner = new Spinner(this); 
    CustomArrayAdapter<String> adapter = new CustomArrayAdapter<String>(this,  android.R.layout.simple_spinner_item, getAsStrings()); 
    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
    spinner.setAdapter(adapter); 
    spinner.setOnItemSelectedListener(this); 
} 

public void onClick(View view) {  
    spinner.performClick(); 
} 

public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {   
    String getName = (String) spinner.getSelectedItem(); 
    getListFromName(getName); 
} 

任何人都知道這裏有什麼問題?

謝謝你們。

回答

16

通過在我的xml與高度和寬度設定爲零添加Spinner問題解決了。

+0

Thanx ....我被卡住了同樣的問題........ – hemu 2012-12-19 06:12:08

+0

什麼是一個很好的解決方案工作正常 – Santosh 2013-07-10 05:44:52

+0

@Bastaix你能告訴你如何申報微調。 – 2014-04-19 16:50:50

0

這看起來足夠像turorial,所以請參考。見下:

我沒有看到這個,但主類實現OnItemSelectedListener?此外,您將要在主類體內的onCreate()中實例化Spinner。

這條線需要在onCreate();

spinner.setOnItemSelectedListener(new MyOnItemSelectedListener()); 
+0

微調器在OnCreate其中'setUpSpinner()'被稱爲實例化定義一個微調,並且類實現onItemSelectedListener。 – Bastaix 2011-04-05 19:00:29

0

爲什麼你在設置中有spinner = new Spinner(this)

想必你已經有一個微調在佈局的XML,那麼你根本就spinner = (Spinner) findViewById(R.id.WHATEVER_THE_ID_IS_IN_THE_XML);,所以你並不需要一個new

附:這就是我在XML佈局

<Spinner 
android:id="@+id/SPINNER_ID" 
android:layout_height="wrap_content" 
android:layout_width="fill_parent" 
android:gravity="center_horizontal" />