如何在android中获取微调器选择的项目?

时间:2013-06-16 02:09:30

标签: java android

我正在制作一个带有两个微调器的货币转换器。我想使用微调器所选项的值来制作一个“if”函数,如下所示。

@Override
public void onClick(View v) {
    if (spinner1.getSelectedItem()=="Dollars" && spinner2.getSelectedItem()=="Euros") {
        convertDollarstoEuros();
    }
    if (spinner1.getSelectedItem()=="Euros" && spinner2.getSelectedItem()=="Euros") {
        convertEurostoEuros();
    }
Toast.makeText(MainActivity.this,
        "OnClickListener : " + 
                "\nSpinner 1 : "+ String.valueOf(spinner1.getSelectedItem()) + 
                "\nSpinner 2 : "+ String.valueOf(spinner2.getSelectedItem()),
            Toast.LENGTH_SHORT).show();
    }

问题是烤面包正在显示,但货币没有转换。吐司部分正在工作,但旋转部分不是。任何帮助将不胜感激。这是我的LogCat:

http://oi39.tinypic.com/2n7i63o.jpg

2 个答案:

答案 0 :(得分:1)

在Spinner上使用OnItemSelectedListener

spinner1.setOnItemSelectedListener(new OnItemSelectedListener() {

        public void onItemSelected(AdapterView<?> arg0, View arg1,
                int arg2, long arg3) {

            String text = spinner1.getSelectedItem().toString().trim();
            if (text.equalsIgnoreCase("Dollars")) {

                //do something
                            }

        }

        public void onNothingSelected(AdapterView<?> arg0) {

        }
    });

答案 1 :(得分:0)

您正在直接比较String。在Java中,您应该将字符串与equals方法进行比较。

if("Dollars".equals(spinner1.getSelectedItem()) && ...

有关详细信息,请参阅以下问题:How do I compare strings in Java?