Как обновить сводку предпочтений из подпредпочтений

Я не могу решить эту проблему. У меня есть экран предпочтений, и есть подпредпочтения, которые открывают другой экран. На этом другом экране изменение элементов можно поймать с помощью OnSharedPreferenceChangeListener, и я изменяю сводку на экране родительских настроек, но когда я возвращаюсь к этому экрану родительских настроек, сводка не изменилась.

Тот же вопрос был задан здесь, но вывод не ясен, и я не смог решить эту проблему. Мне кажется, это общая проблема, и я думаю, что для этого есть хорошее решение.

Кто-нибудь знает решение этой проблемы?

  • Есть одна вещь, которую я хотел бы сохранить: подпредпочтение стандартное, а не пользовательское.

person Tomcat    schedule 08.02.2011    source источник


Ответы (2)


Я решил эту проблему, добавив OnPreferenceClickListener в настройки, которые изменят сводку на главном экране.

OnPreferenceClickListener viewUpdater = new OnPreferenceClickListener() {
        @Override
        public boolean onPreferenceClick(Preference preference) {
            updateView();
            return  false;
        }
    };

В методе updateView() я устанавливаю для сводки новое значение, а затем использую метод invalidateViews списка настроек, чтобы инициировать обновление отображаемой сводки.

private void updateView() {
    preference.setSummary(newSummary);
    getListView().invalidateViews();
}
person senola    schedule 30.09.2011

Проверьте ответ от @jmbouffard это работа для меня

person Yahia    schedule 11.08.2013