0
我不明白這裏發生了什麼。 我有一個ListPreference正確設置條目和entryValues。Android開發:ListPreference問題
當我進入prefernces活動並更改其成功工作的值(我添加了Toast以在更改測試選項後輸出值)。
但是,當我做下面的比較它時,它總是執行else語句,當我每次更改它時,即使像上面那樣當我更改ListPreference並且值是「bluesky」時它仍然無法執行正確的if語句。
下面是我用它來檢查在的onResume()的ListPreference的值代碼:
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this)
String backgroundPref = prefs.getString("backgroundPref", "");
if(backgroundPref == "bluesky"){
mainLayout.setBackgroundResource(R.drawable.bluesky);
Toast.makeText(getBaseContext(), "Blue Sky", Toast.LENGTH_SHORT).show();
}else if(backgroundPref == "sky"){
mainLayout.setBackgroundResource(R.drawable.sky);
Toast.makeText(getBaseContext(), "Sky", Toast.LENGTH_SHORT).show();
}else{
mainLayout.setBackgroundResource(R.drawable.sunsetscene);
Toast.makeText(getBaseContext(), "Sunset Scene", Toast.LENGTH_SHORT).show();
}
祝酒詞是有這樣我就可以仔細檢查該聲明被執行,它總是似乎是另一個。
我有一個糟糕的一天,有什麼問題嗎?
謝謝,解決我的問題。從來不知道你應該這樣做:( – AlexPriceAP 2010-10-12 21:55:09
NP。所有的對象,包括String都應該通過equals方法進行比較,並且在你的對象中實現這個方法也是一個很好的習慣。 – 2010-10-12 22:34:40