如何在Android中获取Spinner Selected Item

时间:2013-06-15 23:56:31

标签: java android spinner

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

enter image description here

3 个答案:

答案 0 :(得分:6)

试试这个:

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

getSelectedItem()返回Objectinfo。所以你必须先得到相应的字符串。 然后java使用equals()比较字符串。

答案 1 :(得分:1)

if (spinner1.getSelectedItem()=="Dollars" && spinner2.getSelectedItem()=="Euros") {

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

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

答案 2 :(得分:0)

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