J'essaie de décocher par programme tous les CheckBoxPreference
enfants d'un PreferenceScreen
dans mon application. Comment puis je faire ça?Comment accéder à tous les enfants d'un PreferenceScreen?
0
A
Répondre
2
trouvé un moyen plus simple - suffisante pour mon cas d'utilisation - ce qui est d'effacer les préférences. Cela peut être fait par une méthode statique à condition qu'un contexte lui soit passé:
PreferenceManager.getDefaultSharedPreferences(context).edit().clear().commit();
2
ne peut pas tester dès maintenant ... mais je vais essayer quelque chose comme ceci:
final ListAdapter adapter = getPreferenceScreen().getRootAdapter();
for (int idx = 0; idx < adapter.getCount(); idx++) {
Object object = adapter.getItem(idx);
if(object instanceof CheckBoxPreference){
((CheckBoxPreference)object).setChecked(false);
}
}