Как получить доступ ко всем детям PreferenceScreen? - PullRequest
0 голосов
/ 11 мая 2010

Я пытаюсь программно снять все CheckBoxPreference дочерние элементы PreferenceScreen в моем приложении. Как я могу это сделать?

Ответы [ 2 ]

3 голосов
/ 11 мая 2010

Не могу проверить это прямо сейчас ... но я бы попробовал что-то вроде этого:

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);
    }
}
2 голосов
/ 12 мая 2010

Найден более простой способ - достаточный для моего варианта использования - то есть очистить настройки.Это можно сделать статическим методом, если ему передан контекст:

PreferenceManager.getDefaultSharedPreferences(context).edit().clear().commit();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...