Comment puis-je saisir les changements d'un CheckBoxPreference dans le développement Android?

StackOverflow https://stackoverflow.com/questions/4260841

Question

Je suis en train d'apprendre comment faire pour Android live wallpapers. Je l'ai travail et maintenant je veux ajouter les préférences couple. Donc, j'ai créé une activité de préférence et suivi tous les exemples que je pouvais trouver.

Je peux saisir ListBoxPreferences très bien, mais la méthode « onSharedPreferenceChanged » est jamais appelé quand une case à cocher a été modifiée.

Y at-il un code supplémentaire qui doit être ajouté pour capturer les changements de cases à cocher? Y at-il une meilleure façon de faire des pratiques cases à cocher dans les préférences?

J'ai frappais la tête contre cette question pendant deux jours, tout! Aide serait grandement appréciée

Merci!

Était-ce utile?

La solution

@Josh -. Bonne réponse

Je voudrais ajouter un souci d'exhaustivité est que vous devez définir les choses afin de vous inscrire à des changements dans votre méthode désinscriptions dans la méthode OnPause () onResume de PreferenceActivity ().

La réponse à cette question a un bon exemple de code provenant des programmes par exemple stock Android.

Vous pouvez également enregistrer des écouteurs pour chacun des préférences de votre activité de onCreate () et les événements poignée séparément.

Autres conseils

Avez-vous inscrivez pour recevoir callbacks onSharedPreferenceChanged?

Ajoutez cette méthode à onCreate (et assurez-vous de mettre en œuvre onSharedPreferenceChanged) de votre activité principale:

PreferenceManager.getDefaultSharedPreferences(getBaseContext()).registerOnSharedPreferenceChangeListener(this);
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top