如何在Android中获取Spinner Selected Item

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

在此处输入图像描述

尝试这个 :

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

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

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

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

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

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