2010-11-06 4 views
3

J'ai une PréférenceActivité avec les paramètres de mon application et je souhaite actualiser l'activité si certaines préférences ont été modifiées.Actualiser l'activité si les préférences ont été modifiées

Par exemple, j'ai une case à cocher responsable de l'onglet supplémentaire dans ma mise en page, lorsque l'onglet case à cocher est cochée. Pour attraper cet événement, j'ai utilisé OnSharedPreferenceChangeListener. Mais cet auditeur écoute chaque clic sur cette case et fait quelque chose (votre logique) à chaque fois, à chaque clic, même si le réglage n'a pas vraiment changé. Je souhaite actualiser mon activité uniquement si le paramètre a vraiment été modifié. Si plus tôt était "OFF" et maintenant "ON" dans ce cas, je veux actualiser, mais si j'ai changé OFF - ON - OFF je ne veux pas rafraîchir.

Comment attraper vraiment les changements et comment gérer cela dans l'activité?

Merci!

Répondre

7

Comment saisir vraiment les changements et comment gérer cela en activité?

Étape 1: Implémentez le OnSharedPreferenceChangeListener sur votre activité principale. Étape # 2: Maintenir un membre de données boolean, initialement false, que vous basculez lorsque votre case d'intérêt est modifiée.

Étape 3: Dans onStart() ou onResume(), si le membre de données boolean est true, rafraîchir l'activité et définissez le membre de données à false.

+0

Merci! Ça marche! –

Questions connexes