2014-11-24 79 views
0

我使用.equals方法將傳遞的字符串(來自其他活動)與int進行比較以顯示特定圖像,我不確定.equals方法是否合適。這是我現在使用的代碼。不幸的是,它不工作,並始終顯示第一張圖片!與Android中的equals()方法比較

獲取選擇列表項的passedID:

passedID = getIntent().getStringExtra("ID"); 

顯示圖像部分:

if(passedID.equals('1')){ 
     image.setImageResource(R.drawable.image01); 
} 
else if(passedID.equals('2')){ 
     image.setImageResource(R.drawbale.image02); 
} 

感謝您的幫助!

+0

歡迎來到SO。如果下面的答案之一解決了您的問題,您應該接受它(點擊相應答案旁邊的複選標記)。這有兩件事。它可以讓每個人都知道你的問題已經得到解決,並且可以幫助你獲得幫助。請參閱[此處](http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work/5235#5235)以獲取完整說明。 – fhdrsdg 2014-11-25 12:21:58

回答

6

文字String被雙引號(")括起來,而不是單引號(')。單引號用於文字char。在你的情況下,你比較StringCharacter(自動自動裝箱從charCharacter),這將導致總是false結果。

這是你的代碼應該如何看起來像:

if(passedID.equals("1")){ 
     image.setImageResource(R.drawable.image01); 
} 
else if(passedID.equals("2")){ 
     image.setImageResource(R.drawbale.image02); 
} 
0

你爲什麼不乾脆把int作爲額外?

intent.putExtra("ID", 1); 
... 
if (intent.getIntExtra("ID", 1) == 1) { 
    ... 
} else if (intent.getIntExtra("ID", 1) == 2) { 
    ... 
}