0

我正在用两个微调器制作货币转换器。我想使用微调器所选项目的值创建一个“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

4

2 回答 2

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) {

        }
    });
于 2013-06-16T02:26:08.937 回答
0

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

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

有关详细信息,请参阅以下问题:如何比较 Java 中的字符串?

于 2013-06-16T02:17:09.910 回答