我不明白这里发生了什么。我有一个带有条目和输入值的列表重新设置。

当我参加首选活动并更改成功工作的值时(我在更改测试选项后添加了敬酒以输出值)。

但是,当我进行以下比较时,它每次更改它时总是执行其他陈述,即使我更改列表重新汇率并且值为“ 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");

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top