2012-05-11 4 views
3

getStringExtra()のデータと文字列を比較できますか? サンプルコード:Intent.getStringExtra()からStringを比較するには?

Intent intent = getIntent(); 
    String path = intent.getStringExtra("category"); 

    if(path == "car"){ 
     setListAdapter(new ArrayAdapter<String>(this, R.layout.subcategory, car)); 
    } else { 
     setListAdapter(new ArrayAdapter<String>(this, R.layout.subcategory, bike)); 
    } 

なぜスクリプトが実行されていないのですか?このよう

+0

try: 'path ==" car "'に変更する 'path.equals(" car ")' – idiottiger

+1

'if(" car ".equals(path))'を使用すると、pathがnullの場合を処理します。 – yorkw

+0

うわー、素晴らしい..私はこのコードを使用しています( "車"。等価(パス))とスクリプトを実行している、多くの場合thx: –

答えて

4

より正確です。あなたのケースでは

あなたはJavaで

if(path.equals("car")) 

にあなたの比較ラインを変更する必要があり等号()==は2つのだけの参照が等しいかどうかを確認するために比較されますしながら、あなたの文字列の実際の内容を比較し

2

使用

path.equals("car") "or" 
path.contains("car") "or" 
path.equalsIgnoreCase("car") "or" 

彼らはJavaで同じである場合は、等号を使用する必要がありますチェックするために2つの文字列を比較する場合)(

0

==コントラストはメモリアドレスです。コントラストは属性値です。

+0

==コントラストはメモリアドレスです、コントラストは属性値です – YangHongChang

関連する問題