繁体   English   中英

如何在Android中获取微调框选择项

[英]How to get Spinner Selected Item in Android

我正在与两个微调器一起制作货币转换器。 我想使用微调器的选定项的值制作一个“ 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时常会发生此异常。 例如,在TextView中,找到findViewById(R.id.textView1),但在xml文件中,我们可能将其设置为textView2。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM