是否可以使用SharedPreferences.OnSharedPreferenceChangeListener监听多个活动

时间:2017-03-27 15:41:28

标签: android android-preferences

我有两项活动,我的MainActivity和我的SettingsActivity(实例化PreferenceFragment

我希望这两项活动都可以:

final SharedPreferences mPrefs = 
        getSharedPreferences(getString(R.string.shared_prefs), 
                             Context.MODE_PRIVATE);
mPrefs.registerOnSharedPreferenceChangeListener(mListener);

每个人都有自己的mListenerSharedPreferences.OnSharedPreferenceChangeListener)实现。

我所看到的是OnSharedPreferenceChangeListener中只有一个被触发。

有什么想法吗?

2 个答案:

答案 0 :(得分:1)

是的,如下所示,可以同时拥有多个侦听器:

https://android.googlesource.com/platform/frameworks/base.git/+/master/core/java/android/app/SharedPreferencesImpl.java#186

很可能你的问题出在其他地方。

答案 1 :(得分:0)

您可以使用Application类的基本实例而不是当前的Activity来存储您的Listener。 这真的取决于你想做什么。