我正在制作一个带有两个微调器的货币转换器。我想使用微调器所选项的值来制作一个“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:
答案 0 :(得分:6)
试试这个:
if (spinner1.getSelectedItem().toString().equals("Dollars") && spinner2.getSelectedItem().toString().equals("Euros")
...
getSelectedItem()返回Object
。 info。所以你必须先得到相应的字符串。
然后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。