我正在这样注册一个偏好设置更改监听器(在onCreate()
我的主要活动中):
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
prefs.registerOnSharedPreferenceChangeListener(
new SharedPreferences.OnSharedPreferenceChangeListener() {
public void onSharedPreferenceChanged(
SharedPreferences prefs, String key) {
System.out.println(key);
}
});
麻烦的是,监听器并不总是被调用。它会在前几次更改首选项时起作用,然后在我卸载并重新安装该应用程序之前不再调用它。重新启动应用程序似乎无济于事。
我发现一个邮件列表线程报告了同样的问题,但是没有人真正回答他。我究竟做错了什么?