Android开发:ListPreference麻烦
-
29-09-2019 - |
题
我不明白这里发生了什么。我有一个带有条目和输入值的列表重新设置。
当我参加首选活动并更改成功工作的值时(我在更改测试选项后添加了敬酒以输出值)。
但是,当我进行以下比较时,它每次更改它时总是执行其他陈述,即使我更改列表重新汇率并且值为“ bluesky”时,它仍然无法执行正确的if语句。
这是我用来检查onReSume()中列表列中值的代码:
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();
}
烤面包在那里,所以我可以仔细检查哪个语句被执行,并且似乎总是是其他语句。
我过得不好,遇到了问题吗?
解决方案
对于初学者,永远不会比较这样的琴弦 backgroundPref == "bluesky"
应该 backgroundPref.equals("bluesky");
不隶属于 StackOverflow