我刚刚注意到这个方法在Android的文档(参考文献)中addPreferencesFromResource(int preferencesResId)被标记为已弃用.
不幸的是,该方法的描述中没有提供替代方法.
为了将preferenceScreen.xml连接到匹配的PreferenceActivity,应该使用哪种方法?
我正在注册这样的偏好更改监听器(在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)
麻烦的是,听众并不总是被召唤.它最初几次更改首选项,然后在卸载并重新安装应用程序之前不再调用它.没有重新启动应用程序似乎修复它.
我发现一个邮件列表线程报告了同样的问题,但没有人真正回答他.我究竟做错了什么?