想知道在PreferenceActivity之外为特定偏好变化“监听”的建议方式。我有一个PreferenceActivity来处理我所有的共享偏好,但我也有一个处理地图内容的MapActivity。如何在MapActivity中检测特定首选项的更改,即假设为MapType首选项。
我知道的选项。
在我的MapActivity上实现OnSharedPreferenceChangeListener。我可以将MapActivity设置为监听器,并检查进入的首选项是否是我关心的。问题在于,我将调用所有首选项更改而不仅仅是我关心的MapType首选项。
在我的MapActivity中的onResume方法中,检查我关心的偏好是否发生变化(因为现在设置的更改意味着我转到新活动,然后在完成后返回到地图活动)。我不喜欢这个,因为如果我改变了我设置MapType的方式(即如果它不需要新的活动),我就不会点击onResume。
???不确定这是否可行,但是在MapActivity中(比如onCreate)我得到了一个MapType Preference类(不要认为这是可能的)。但是,如果我可以获得该偏好,那么我可以使用Preference类。 OnPreferenceChangeListener()和我只会监听要更改的偏好。