J'enregistre un écouteur de changement de préférence comme ceci (dans le fichier onCreate()
de mon activité principale) :
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
prefs.registerOnSharedPreferenceChangeListener(
new SharedPreferences.OnSharedPreferenceChangeListener() {
public void onSharedPreferenceChanged(
SharedPreferences prefs, String key) {
System.out.println(key);
}
});
Le problème est que l'écouteur n'est pas toujours appelé. Il fonctionne les premières fois qu'une préférence est modifiée, puis il n'est plus appelé jusqu'à ce que je désinstalle et réinstalle l'application. Le redémarrage de l'application ne semble pas résoudre le problème.
J'ai trouvé une liste de diffusion filetage rapportant le même problème, mais personne ne lui a vraiment répondu. Qu'est-ce que je fais de mal ?