#android
#Android
Вопрос:
У меня есть ListPreference в настройках моего приложения. И у меня есть onSharedPreferenceChanged()
метод, в котором я что-то делаю, если значение было изменено. Но если пользователь нажмет на тот же элемент списка, onSharedPreferenceChanged()
который вызывается снова. Но я не хочу ничего делать, если пользователь нажал на ту же строку в ListPreference… Как с этим справиться? Как проверить, onSharedPreferenceChanged()
изменилось ли значение или нет? Спасибо.
Например
public void onSharedPreferenceChanged(SharedPreferences sharedPreferences,
String key) {
if (key.equals(SOME_KEY)) {
setResult(2);
}
}
Но я не имею обыкновения устанавливать результат, если значение одинаковое
Ответ №1:
Вам лучше сделать это в Preference.OnPreferenceChangeListener
подклассе.
Ответ №2:
Просто используйте sharedPreferences.getString(key,defValue);
Комментарии:
1. Хотя эта строка может отвечать на вопрос, мы предпочитаем ответы с некоторым объяснением.