1

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

在此处输入图像描述

4

3 回答 3

6

尝试这个 :

if (spinner1.getSelectedItem().toString().equals("Dollars") && spinner2.getSelectedItem().toString().equals("Euros")
...

getSelectedItem() 返回一个Object. 信息。所以你必须先得到对应的字符串。然后 java 使用equals().

于 2013-06-16T00:02:57.443 回答
1
if (spinner1.getSelectedItem()=="Dollars" && spinner2.getSelectedItem()=="Euros") {

你不能像那样比较字符串。您必须使用该equals()方法来比较它们。用这个:

if (spinner1.getSelectedItem().toString().equals("Dollars") && spinner2.getSelectedItem().toString().equals("Euros")) {}
于 2013-06-16T00:07:14.197 回答
0

检查您是否正确调用了id?当我在工作时调用不正确的 id 时会出现此异常。例如,在 TextView 中,findViewById(R.id.textView1) 但在 xml 文件中我们可能已将其设置为 textView2。

于 2015-04-01T17:43:46.713 回答