相关疑难解决方法(0)

SharedPreferences.onSharedPreferenceChangeListener未被一致地调用

我正在注册这样的偏好更改监听器(在onCreate()我的主要活动中):

SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);

prefs.registerOnSharedPreferenceChangeListener(
   new SharedPreferences.OnSharedPreferenceChangeListener() {
       public void onSharedPreferenceChanged(
         SharedPreferences prefs, String key) {

         System.out.println(key);
       }
});
Run Code Online (Sandbox Code Playgroud)

麻烦的是,听众并不总是被召唤.它最初几次更改首选项,然后在卸载并重新安装应用程序之前不再调用它.没有重新启动应用程序似乎修复它.

我发现一个邮件列表线程报告了同样的问题,但没有人真正回答他.我究竟做错了什么?

android android-preferences

250
推荐指数
4
解决办法
8万
查看次数

响应Android中的偏好更新

我从另一个活动调用PreferenceActivity,然后根据首选项更改更新onActivityResult上的应用程序状态(即:更改字体大小).

我认为将状态更新逻辑放在PreferenceActivity中会更好.这样我在调用PreferenceActivity的每个活动中都没有重复逻辑.

这样做的最佳或正确方法是什么?

android preferences preferenceactivity android-activity

3
推荐指数
1
解决办法
1757
查看次数