我打电话从其他活动PreferenceActivity,然后更新应用程序的状态(即:改变字体大小)上onActivityResult的基础上,偏好的变化。应对偏好的更新在Android中
我想这将是更好地把状态更新逻辑在PreferenceActivity。这样我没有重复调用PreferenceActivity的每个活动中的逻辑。
什么是做到这一点的最好的或正确的方法是什么?
我打电话从其他活动PreferenceActivity,然后更新应用程序的状态(即:改变字体大小)上onActivityResult的基础上,偏好的变化。应对偏好的更新在Android中
我想这将是更好地把状态更新逻辑在PreferenceActivity。这样我没有重复调用PreferenceActivity的每个活动中的逻辑。
什么是做到这一点的最好的或正确的方法是什么?
有经由registerOnSharedPreferenceChangeListener()
任何Activity
(或其它部件),该关心偏好的变化登记的偏好改变侦听器。然后,当偏好以任何方式变化时,他们都会了解它并能够做出相应的反应。
的PreferenceActivity应该处理所有的偏好设置。您的其他活动应该读取这些设置在运行时的设置,并相应地进行调整。
哦。我不知道,即使存在。非常感谢,CommonsWare! – hpique 2010-05-01 23:36:51
@CommonsWare 1为一般的方向,但[本答案](http://stackoverflow.com/questions/7020446/android-registeronsharedpreferencechangelistener-causes-crash-in-a-custom-view/7021068#7021068)是更清晰的并且更容易实施。 – ateiob 2011-08-25 23:02:02
伟大的方法+1。另外,_must_在关闭/销毁组件时调用'unregisterOnSharedPreferenceChangeListener'。 – 2013-01-07 19:10:32