Я пытаюсь программно снять все CheckBoxPreference дочерние элементы PreferenceScreen в моем приложении. Как я могу это сделать?
CheckBoxPreference
PreferenceScreen
Не могу проверить это прямо сейчас ... но я бы попробовал что-то вроде этого:
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); } }
Найден более простой способ - достаточный для моего варианта использования - то есть очистить настройки.Это можно сделать статическим методом, если ему передан контекст:
PreferenceManager.getDefaultSharedPreferences(context).edit().clear().commit();