Начальные значения PreferenceScreen/PreferenceFragment при использовании PreferenceDataStoreAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Начальные значения PreferenceScreen/PreferenceFragment при использовании PreferenceDataStore

Сообщение Anonymous »

Я реализую экран предпочтений, который представляет собой XML-файл с тегом PreferenceScreen, раздутым в PreferenceFragment. Обычно это поддерживается SharedPreferences, однако в моей конкретной ситуации мы заменяем SharedPreferences на собственный PreferenceDataStore для некоторых настроек.
В методе Fragment onCreate мы получаем отдельные настройки и перехват. их в PreferenceDataStore.
SwitchPreference pref = (SwitchPreference) findPreference("my_boolean_preference");
pref.setPreferenceDataStore(dataStore);

Это работает нормально, за исключением того, что текущее значение игнорируется при первом отображении экрана. Как я могу получить правильное значение при первом отображении экрана. Должен ли я поместить приведенный выше код где-нибудь кроме onCreate? Нужно ли мне вызывать какое-то обновление или перепривязку?
В настоящее время я работаю над решением этой проблемы, вручную устанавливая значение сразу после вызова setPreferenceDataStore.
pref.setChecked(dataStore.getBoolean("my_boolean_preference", false));


Подробнее здесь: https://stackoverflow.com/questions/652 ... erencedata
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»