2012-07-31 68 views

回答

1

這是什麼應該做的伎倆

 Spinner sp = new Spinner(this);   
     ArrayAdapter<String> aa = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, new 
     String[]{"one", "two", "three"});  
    sp.setAdapter(aa); 
     sp.setOnItemSelectedListener(new OnItemSelectedListener() { 
@Override 
public void onItemSelected(AdapterView<?> parentView, View selectedItemView, int position, long id) { 
    // your code here 
} 

@Override 
public void onNothingSelected(AdapterView<?> parentView) { 
    // your code here 
} 

}); 
+0

如果我使用此代碼,它顯示錯誤爲「OnItemSelectedListener無法解析爲類型」我不知道爲什麼。實際上我使用列表 list = new ArrayList (); list.add(「one」);,是他們的任何問題,如果我使用列表 – shivcena 2012-07-31 10:12:41

+0

使用列表是沒有區別使用String []。構造函數知道解析這兩種情況。你確定你在微調器上設置了setOnItem ...而不是適配器? – cosmincalistru 2012-07-31 10:14:36

+0

我明白了,它的工作很好 – shivcena 2012-07-31 10:30:47

2

你可以使用setOnItemSelectedListener您需要

spinner.setOnItemSelectedListener(new OnItemSelectedListener() { 
@Override 
public void onItemSelected(AdapterView<?> parentView, View selectedItemView, int position, long id) { 
    // your code here 
} 

@Override 
public void onNothingSelected(AdapterView<?> parentView) { 
    // your code here 
} 

}); 
+0

我在java代碼中創建了微調器,而不是在xml中,Spinner spinner1 = new Spinner(this);,我使用數組適配器來加載微調器中的列表,如果我使用這種方法,它會顯示錯誤。 – shivcena 2012-07-31 09:48:34

+0

錯誤:OnItemSelectedListener不能解析爲一個類型 \t - 在型適配器視圖 \t不適用的參數(新OnItemSelectedListener(){}) – shivcena 2012-07-31 09:50:34

+0

檢查此http方法setOnItemSelectedListener(AdapterView.OnItemSelectedListener):/ /stackoverflow.com/questions/6635732/onitemselectedlistener-for-spinner-that-was-added-programmatically-does-not-trig – 2012-07-31 09:54:50