2015-04-27 58 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个点击事件。

您可以根据自己的喜好以不同的方式做到这一点。我想用这个你会有更多的控制。

对于动态微调控制器,您需要不同的逻辑,您需要动态创建按钮并使用您的自定义或基础适配器的索引动态添加它们的点击事件。

相关问题