Как настроить SharedPreferences из PreferenceActivity в Android по умолчанию? - PullRequest
7 голосов
/ 30 ноября 2010

Я создал PreferenceActivity на основе xml для PreferenceScreen.В XML вы можете назначить значения по умолчанию для различных предпочтений.Но они не сохраняются в моих SharedPreferences, прежде чем экран открывается и закрывается.

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

Есть ли способ сохранить все настройки с экрана настроек xml, не заставляя пользователя открывать и закрывать действие предпочтений?

Мне известно, что вы можете указать значение по умолчанию при получении предпочтения из SharedPreferences, но глупо поддерживать значения по умолчанию как в XML, так и в коде.

1 Ответ

13 голосов
/ 30 ноября 2010

Просто используйте этот код в классе Application.

PreferenceManager.setDefaultValues(this, R.xml.preference, false);

Он загрузит ваши настройки из XML, а последний параметр (readAgain) гарантирует, что пользовательские настройки не будут перезаписаны.Вам необходимо сохранить параметры по умолчанию в файле R.xml.preference.

Просмотрите PreferenceManager.setDefaultValues ​​ в Android API для дальнейшего изучения.

...