Обновить активность, если настройки были изменены - PullRequest
3 голосов
/ 06 ноября 2010

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

Например, у меня есть флажок, который отвечает за дополнительную вкладку в моем макете, когда флажок установлен, вкладка должна быть показана. Чтобы поймать это событие, я использовал OnSharedPreferenceChangeListener. Но этот слушатель прослушивает каждый щелчок по этому флажку и каждый раз что-то делает (вашу логику), каждый щелчок, даже если настройки действительно не были изменены. Я хочу обновить свою активность, только если настройки действительно были изменены. Если раньше было «ВЫКЛ», а теперь стало «ВКЛ», в этом случае я хочу обновить, но если я изменил «ВЫКЛ - ВКЛ - ВЫКЛ», я не хочу обновлять.

Как отловить действительно изменения и как справиться с этим в действии?

Спасибо!

1 Ответ

7 голосов
/ 06 ноября 2010

Как отследить действительно изменения и как с этим справиться в упражнении?

Шаг # 1: Ввести OnSharedPreferenceChangeListener в основное занятие.

Шаг #2. Сохраните элемент данных boolean, изначально false, который вы переключаете при каждом изменении интересующего вас флажка.

Шаг № 3: В onStart() или onResume(), если booleanэлемент данных true, обновите действие и установите для элемента данных значение false.

...