2016-10-07 13 views
1

私はスピナーから選択された文字列値の文字列値を比較しています。しかし、私がテストしている文字列がスピナーの文字列値と同じであっても、常に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"); 

答えて

0

私はいつか同じ問題に直面していました。

if (familyTest.equals("Apiaceae")) 
{ 
    Log.i(TAG, "This is True!"); 
} 
==が文字列refrences

だから、あなたが何をする必要があるかであるとを比較し、一方、トリックではなく==

のequals()のequals()を使用していた文字列値を比較し、

関連する問題