Как отредактировать SharedPreferences так, чтобы OnSharedPreferenceChanged вызывался - PullRequest
1 голос
/ 13 февраля 2012

У меня есть PreferenceScreen, в котором у меня есть CheckBox Preference и простой Preference, который вызывает пользовательский диалог.В этом пользовательском диалоге пользователь может выбрать номер.Нажав OK в этом диалоговом окне, я хочу сохранить номер, отредактировав мой sharedPreferences.После сохранения он должен автоматически вызвать метод OnSharedPreferenceChanged.

Настройки CheckBox работают нормально.

1 Ответ

2 голосов
/ 13 февраля 2012

Ваш пользовательский диалог должен расширять DialogPreference. Если предпочтение было изменено, вызовите persistXXX () (XXX - это имя типа), как в этом примере:

@Override
public void onDialogClosed(final boolean positiveResult) {
    if( positiveResult && this.isPersistent() ) {
        final StringBuilder b = new StringBuilder();
        b.append(this.hour).append(':');
        if( this.minute < 10 )
            b.append('0');
        b.append(this.minute);
        this.persistString(b.toString());
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...