3

J'appelle une PreferenceActivity d'une autre activité, puis je mets à jour l'état de l'application (c'est-à-dire: changer la taille de police) sur onActivityResult, en fonction des changements de préférences.Répondre aux mises à jour des préférences dans Android

Je pensais qu'il serait préférable de mettre la logique de mise à jour d'état dans PreferenceActivity. De cette façon, je n'ai pas le double de la logique dans chaque activité qui appelle la PreferenceActivity.

Quelle est la meilleure ou la bonne façon de procéder?

Répondre

7

Avez-Activity (ou un autre composant) qui se soucie des changements de préférence enregistrer un écouteur de changement de préférence via registerOnSharedPreferenceChangeListener(). Ensuite, quand les préférences changent par n'importe quel moyen, ils vont le découvrir et réagir en conséquence.

+0

Oh. Je ne savais pas que cela existait. Merci beaucoup, CommonsWare! – hpique

+0

@CommonsWare +1 pour la direction générale mais [cette réponse] (http://stackoverflow.com/questions/7020446/android-registeronsharedpreferencechangelistener-causes-crash-in-a-custom-view/7021068#7021068) est beaucoup plus claire et plus facile à mettre en œuvre. – ateiob

+0

Bonne méthode +1. En outre, _must_ appelle 'unregisterOnSharedPreferenceChangeListener' lors de la fermeture/destruction du composant. –

0

La PreferenceActivity doit gérer tous les paramètres de préférence. Vos autres activités devraient lire ce que sont ces paramètres lorsqu'ils s'exécutent et s'ajuster en conséquence.

Questions connexes