Comment puis-je saisir les changements d'un CheckBoxPreference dans le développement Android?
-
27-09-2019 - |
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!
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);