У меня есть PreferenceScreen
, содержащий только CheckBoxPreferences
(категории на выбор). Мне нужна опция, чтобы проверить / снять все флажки. У меня есть следующий код, который выполняет эту работу, но есть одна проблема: флажки на экране не обновляются - мне нужно вызвать недействительный вид или что-то в этом роде.
Вот мой настоящий код:
private void checkAll() {
SharedPreferences settings = PreferenceManager.getDefaultSharedPreferences(this);
SharedPreferences.Editor editor = settings.edit();
@SuppressWarnings("unchecked")
Map<String, Boolean> categories = (Map<String, Boolean>) settings.getAll();
for(String s : categories.keySet()) {
editor.putBoolean(s, true);
}
editor.commit();
}
private void uncheckAll() {
SharedPreferences settings = PreferenceManager.getDefaultSharedPreferences(this);
SharedPreferences.Editor editor = settings.edit();
@SuppressWarnings("unchecked")
Map<String, Boolean> categories = (Map<String, Boolean>) settings.getAll();
for(String s : categories.keySet()) {
editor.putBoolean(s, false);
}
editor.commit();
this.restart();
}
Этот код работает нормально, но мне нужно как-то обновить представление, чтобы сразу увидеть результат (не только после закрытия и повторного запуска действия настройки).
Спасибо всем за любые советы!