2012-06-27 38 views
0

我嘗試按下按鈕動態創建一個微調。微調onitemselected listner問題

這是我做過什麼:

public void onCreate(Bundle savedInstanceState) { 
super.onCreate(savedInstanceState); 
setContentView(R.layout.leave_balance); 

spinner = new Spinner(this); 
    ArrayAdapter<String> spinnerArrayAdapter = new ArrayAdapter<String>(this,android.R.layout.simple_spinner_dropdown_item, list); 
    spinner.setAdapter(spinnerArrayAdapter); 

Button b = (Button)findviewbyid(R.id.button1); 
b.setonclicklistener(new Onclicklistener){ 
    public void onClick(View v) { 
      spinner.performClick(); 


     } 
spinner.setOnItemSelectedListener(new OnItemSelectedListener() { 

     public void onItemSelected(AdapterView<?> arg0, View arg1, 
       int arg2, long arg3) { 
      Toast.maketext(context,"selectedspinner",Toast.LENGTH_SHORT).show(); 

     } 

     public void onNothingSelected(AdapterView<?> arg0) { 
      // TODO Auto-generated method stub 

     } 
    }); 
} 
} 

我的問題是我不是能夠拿到敬酒,即onitemselectedlistner不觸發微調。

任何建議將不勝感激..由於

+0

你爲什麼寫了'spinner.performClick();'? –

+0

這將執行點擊微調 – Rakshi

+0

你有嘗試新的AdapterView.OnItemSelectedListener()而不是OnItemSelectedListener? –

回答

2

微調需要在父增加獲得呼籲onItemSelected

  1. 添加在XML的sppiner並設置寬度和高度0dp(可以設置可見看不到的了)。

  2. 獲取使用findViewById

+0

這有效,但爲什麼當我嘗試添加一個微調動態不會發生。你想分享的任何理由 – Rakshi

+0

sppiner需要添加在父... –

+0

好吧,如果我通過它的ID得到父佈局,如果我動態地添加微調器到該佈局將它的工作 – Rakshi

2

spinner.performClick()調用onclicklistener和不onItemclicklistener。

使用spinner.performitemclick(.....);

+0

是的,但是當點擊到微調列表項目時,您可以獲得OnItemClickListener的事件。 – james

0

試試這個。

onCreate() 
{ 

spinnerLocation = (Spinner)findViewById(R.id.spinnerSettingLocation); 

ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(
      this, R.array.location_array, android.R.layout.simple_spinner_item); 
    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
    spinnerLocation.setAdapter(adapter); 
    spinnerLocation.setOnItemSelectedListener(new MyOnLocationSpinnerItemSelectedListener()); 

} 



public class MyOnLocationSpinnerItemSelectedListener implements OnItemSelectedListener { 

    public void onItemSelected(AdapterView<?> parent, 
     View view, int pos, long id) { 
     Toast.maketext(context,"selectedspinner" + pos,Toast.LENGTH_SHORT).show(); 

    } 




    public void onNothingSelected(AdapterView parent) { 
     // Do nothing. 
    } 
}