[英]How to select item from Spinner then do somthing on button click?
I have spinner
with 3 items and I want to do different thing for each selected items, Like if the selected item is "add" then add 2 numbers via button click , I have implemented a code it works but not on button click how do I connect that. 我有3个项目的spinner
,并且我想为每个选定的项目做不同的事情,就像选定的项目是“添加”,然后通过单击按钮添加2个数字一样 ,我实现了一个有效的代码,但是在单击按钮时不起作用连接。
This is my code. 这是我的代码。
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
String uints = parent.getItemAtPosition(position).toString();
switch (position) {
case 0:
double r1 = Double.parseDouble(input1.getText().toString());
double r2 = Double.parseDouble(input2.getText().toString());
double rout = r1 + r2;
textView.setText(Double.toString(rout));
break;
case 1:
double r12 = Double.parseDouble(input1.getText().toString());
double r22 = Double.parseDouble(input2.getText().toString());
double rout2 = r12 - r22;
textView.setText(Double.toString(rout2));
break;
case 2:
double r13 = Double.parseDouble(input1.getText().toString());
double r23 = Double.parseDouble(input2.getText().toString());
double rout3 = r13 / r23;
textView.setText(Double.toString(rout3));
break;
}
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
Thanks for any help. 谢谢你的帮助。
As per my understanding you want the selected spinner item on button click so you can directly get the selected item by the spinner without any listener. 根据我的理解,您希望单击按钮上选定的微调器项目,这样您就可以直接由微调器获取选定的项目,而无需任何监听程序。
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
switch(spinner.getSelectedItemPosition()){
//Do whatever you want
}
}
}
you can get selected item's ID, View, position or item itself by using default functions. 您可以使用默认功能获取所选商品的ID,视图,位置或商品本身。
spinner.getSelectedItemId()
spinner.getSelectedItemView()
spinner.getSelectedItemPosition()
spinner.getSelectedItem()
Do not write the spinner.setOnItemSelectedListener
inside the button.setOnClickListener
. 不写spinner.setOnItemSelectedListener
里面button.setOnClickListener
。
First add the spinner.setOnItemSelectedListener
and store the value in any integer
. 首先添加spinner.setOnItemSelectedListener
并将值存储在任何integer
。
Now compare the interger
value at button.setOnClickListener
and perform the operation. 现在比较interger
的价值button.setOnClickListener
和执行操作。
Here's the code - 这是代码-
int selectedPosition = 0;
spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener()
{
@Override
public void onItemSelected (AdapterView < ? > parent, View view,int position, long id){
selectedPosition = position;
}
@Override
public void onNothingSelected (AdapterView < ? > parent){
}
});
button.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick (View v){
switch (selectedPosition) {
case 0:
double r1 = Double.parseDouble(input1.getText().toString());
double r2 = Double.parseDouble(input2.getText().toString());
double rout = r1 + r2;
textView.setText(Double.toString(rout));
break;
case 1:
double r12 = Double.parseDouble(input1.getText().toString());
double r22 = Double.parseDouble(input2.getText().toString());
double rout2 = r12 - r22;
textView.setText(Double.toString(rout2));
break;
case 2:
double r13 = Double.parseDouble(input1.getText().toString());
double r23 = Double.parseDouble(input2.getText().toString());
double rout3 = r13 / r23;
textView.setText(Double.toString(rout3));
break;
}
}
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.