2010-05-01 47 views
3

我打电话从其他活动PreferenceActivity,然后更新应用程序的状态(即:改变字体大小)上onActivityResult的基础上,偏好的变化。应对偏好的更新在Android中

我想这将是更好地把状态更新逻辑在PreferenceActivity。这样我没有重复调用PreferenceActivity的每个活动中的逻辑。

什么是做到这一点的最好的或正确的方法是什么?

回答

7

有经由registerOnSharedPreferenceChangeListener()任何Activity(或其它部件),该关心偏好的变化登记的偏好改变侦听器。然后,当偏好以任何方式变化时,他们都会了解它并能够做出相应的反应。

+0

哦。我不知道,即使存在。非常感谢,CommonsWare! – hpique 2010-05-01 23:36:51

+0

@CommonsWare 1为一般的方向,但[本答案](http://stackoverflow.com/questions/7020446/android-registeronsharedpreferencechangelistener-causes-crash-in-a-custom-view/7021068#7021068)是更清晰的并且更容易实施。 – ateiob 2011-08-25 23:02:02

+0

伟大的方法+1。另外,_must_在关闭/销毁组件时调用'unregisterOnSharedPreferenceChangeListener'。 – 2013-01-07 19:10:32

0

的PreferenceActivity应该处理所有的偏好设置。您的其他活动应该读取这些设置在运行时的设置,并相应地进行调整。