Сравните общие предпочтения с более ранним состоянием - PullRequest
0 голосов
/ 23 октября 2011

Я бы хотел, чтобы чистый способ проверить, изменились ли предпочтения.Эта проверка должна быть выполнена, когда preferenceActivity завершит работу.

Моя текущая мысль - сохранить интересующие значения в onCreate, используя такие имена, как oldInterval, и сравнить их со значением во время onDestroy.Я должен был бы указать это для каждого предпочтения интереса как бы то ни было.Скорее, я хотел бы сохранить резервную копию всего объекта SharedPreferences в onCreate, чтобы я мог запросить его в onDestroy.Надеюсь, мой вопрос ясен, и вы можете помочь.

1 Ответ

1 голос
/ 23 октября 2011

Есть две опции - SharedPreferences.getAll() вернет Map всех значений в объекте SharedPreferences. Вы можете использовать это для сравнения до и после.

Возможно, лучшим вариантом будет использование SharedPreferences.registerOnSharedPreferenceChangeListener(), которое настроит прослушиватель, который вызывается при изменении одного из ваших общих предпочтений. Они вы можете просто установить логическое значение, и вы узнаете сразу.

Все это задокументировано на Javadoc SharedPreferences *1009* page

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...