В моем случае, я использовал неправильно, OnPreferenceChangeListener
используется во время фазы изменения предпочтения, зарегистрирован для одного предпочтения и должен использоваться для проверки значения предпочтения.
Это то, что мне нужно было, чтобы зарегистрироватьслушатель, который будет вызван после того, как предпочтение уже изменено.Эта задача выполняется с помощью OnSharedPreferenceChangeListener
, который будет вызываться после изменения любого предпочтения, и изменение уже видимо приложению:
PreferenceManager.getDefaultSharedPreferences(this)
.registerOnSharedPreferenceChangeListener(
new OnSharedPreferenceChangeListener() {
public void onSharedPreferenceChanged(
SharedPreferences sharedPreferences, String key) {
if (MYKEY1.equals(key)
|| MYKEY2.equals(key)) {
doSomething();
}
}
});