Я не понимаю, что здесь происходит.У меня есть ListPreference с правильно установленными значениями entry и entryValues.
Когда я вхожу в действие предпочтений и изменяю значение, оно успешно работает (я добавил тост, чтобы вывести значение после изменения параметра для тестирования).
Но когда я делаю следующее, чтобы сравнить его, он всегда выполняет остальное условие, когда я меняю его каждый раз, даже как выше, когда я изменял ListPreference и значение было "bluesky", он все равно не мог выполнить правильное, еслиоператор.
Вот код, который я использую для проверки значения ListPreference в 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();
}
Имеются тосты, поэтому я могу дважды проверить, какой оператор выполняется, ивсегда кажется, что он еще один.
У меня плохой день и что-то не так?