ฉันลงทะเบียนผู้ฟังการเปลี่ยนแปลงค่ากำหนดเช่นนี้ (ในonCreate()
กิจกรรมหลักของฉัน):
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
prefs.registerOnSharedPreferenceChangeListener(
new SharedPreferences.OnSharedPreferenceChangeListener() {
public void onSharedPreferenceChanged(
SharedPreferences prefs, String key) {
System.out.println(key);
}
});
ปัญหาคือผู้ฟังไม่ได้เรียกเสมอ ใช้งานได้สองสามครั้งแรกที่มีการเปลี่ยนแปลงการกำหนดค่าตามความชอบจากนั้นจะไม่มีการเรียกใช้อีกต่อไปจนกว่าฉันจะถอนการติดตั้งและติดตั้งแอปอีกครั้ง ดูเหมือนว่าจะไม่มีการรีสตาร์ทแอปพลิเคชัน
ฉันพบเธรดรายชื่อผู้รับจดหมายที่รายงานปัญหาเดียวกัน แต่ไม่มีใครตอบเขาจริงๆ ผมทำอะไรผิดหรือเปล่า?