最佳答案
我正在像这样注册一个首选项更改侦听器(在我的主活动的onCreate()
中):
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
prefs.registerOnSharedPreferenceChangeListener(
new SharedPreferences.OnSharedPreferenceChangeListener() {
public void onSharedPreferenceChanged(
SharedPreferences prefs, String key) {
System.out.println(key);
}
});
问题是,侦听器并不总是被调用。在首选项改变的前几次,它是有效的,然后它不再被调用,直到我卸载并重新安装应用程序。重新启动应用程序似乎无法修复它。
我发现一个邮件列表线程报告了同样的问题,但没有人真正回答他。我做错了什么?