如何将字符串值与spinner中的字符串进行比较?

时间:2016-10-07 13:12:51

标签: android-spinner

我正在比较来自spinner的所选字符串值的字符串值。但是,即使我测试的字符串与spinner的字符串值相同,它总是返回false。我已经测试了不同的方法,简化了条件,它总是以相同的方式结束。日志中的打印值与字符串相同,那么为什么它总是返回false?

final Spinner spinner_familyTest = (Spinner) findViewById(R.id.spinner_family);
    ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this,
        R.array.family_array, R.layout.spinner_layout);
    adapter.setDropDownViewResource(R.layout.spinner_layout);
    spinner_familyTest.setAdapter(adapter);

//  Value of familyTest from spinner as printed in the log is "Apiaceae"
    familyTest = spinner_familyTest.getSelectedItem().toString(); 

    if (familyTest == "Apiaceae") {
                    Log.i(TAG, "This is True!");
                    }
                    Log.i(TAG, "This is False");

1 个答案:

答案 0 :(得分:1)

一段时间以来我遇到过同样的问题。诀窍是使用equals()而不是==

  

等于()比较字符串值,而 == 比较字符串引用

所以你需要做的是:

if (familyTest.equals("Apiaceae"))
{
   Log.i(TAG, "This is True!");
}