Активность предпочтений 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");
}