Активность предпочтений Android не обновляется правильно

Я создал страницу предпочтений андроида и хотел показать текущую опцию, выбранную в резюме.

Итак, я реализовал прослушиватель onSharedPreferenceChanged, который также называется правильно. Тем не менее, нет изменения экрана, и отображается старая опция.

public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {
    // just update all
    ListPreference lp = (ListPreference) findPreference(PREF_DOWNLOAD_WEB);
    lp.setSummary(getString(R.string.pref_listDownloadWebSummary)  + ": %s");
}

Является ли это известной ошибкой?

Ответ 1

Я заметил, что обновленное резюме отображается, когда я устанавливаю другое резюме prefs. Поэтому сначала я устанавливаю сводку "dummy", а затем реальную строку. Он также работает.

public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {
    // just update all
    ListPreference lp = (ListPreference) findPreference(PREF_DOWNLOAD_WEB);
    lp.setSummary("dummy"); // required or will not update
    lp.setSummary(getString(R.string.pref_listDownloadWebSummary)  + ": %s");

}