2015-04-27 56 views
0

我創建了一個帶有5個項目的spinner,並且我還創建了5個按鈕。我想要做的是將一個按鈕關聯到微調器中的項目。所以當我點擊一個按鈕時,相應的項目將被選中。例如:如何使用按鈕在微調器中選擇項目

我在飛旋5個項目:

hey, hi, ho, hello, sup 

我有5個按鈕:

btn1, btn2, btn3, btn4, btn5 

btn5關聯到sup。所以當我點擊btn5時,應該在微調器中選擇sup。我將如何做到這一點?

+0

http://stackoverflow.com/questions/11072576/set-selected-item-of-spinner-programmatically這應該會對你有幫助:) – Klawikowski

+0

告訴我們你已經試過了。這聽起來像是作業。 – luiscosta

回答

0

您必須對每個按鈕調用與button id作爲參數,下面的函數使用

spinner.setSelection(position); 
+0

不知道它是如此簡單。謝謝! – yologaming

0

設置一個onClickListener

function switchSpinner(int id){ 
    Spinner spinner=(Spinner) findViewById(R.id.spinner); 
    int pos=-1; 
    switch(id){ 
     R.id.btn1: 
      pos=0; 
      break; 
     R.id.btn2: 
      pos=1; 
      break; 
     R.id.btn3: 
      pos=2; 
      break; 
     R.id.btn4: 
      pos=3; 
      break; 
     R.id.btn5: 
      pos=4; 
      break; 
    } 
    spinner.setSelection(pos); 
    spinner.requestLayout() //add this only if the spinner does not change  
} 
0

如果您需要爲微調輸入硬編碼值,則需要做到這一點

Button0.setOnClickListener(new View.OnClickListener() { 
     public void onClick(View v) { 
      // Here you need specify which item of spinner you need to select. 
     spinner.setSelection(0); 
     } 
    }); 

像這樣,如果你有5 b你需要用setSelect(position)事件創建5個點擊事件。

您可以根據自己的喜好以不同的方式做到這一點。我想用這個你會有更多的控制。

對於動態微調控制器,您需要不同的邏輯,您需要動態創建按鈕並使用您的自定義或基礎適配器的索引動態添加它們的點擊事件。

相關問題