Ответ на обновления настроек в Android

Я вызываю PreferenceActivity из другого действия, а затем обновляю состояние приложения (т. Е. Изменяя размер шрифта) на onActivityResult на основе изменений предпочтений.

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

Каков наилучший или правильный способ сделать это?

Имейте какое-либо действие (или другой компонент), который заботится о изменениях предпочтений, регистрирует прослушиватель изменений предпочтений через registerOnSharedPreferenceChangeListener() . Затем, когда предпочтения меняются каким-либо образом, они узнают об этом и могут соответственно реагировать.

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