Не удается сохранить настройки после закрытия приложения - PullRequest
3 голосов
/ 04 сентября 2011

Привет! Я пытаюсь реализовать страницу настроек в моем приложении для Android.Я определил файл настроек xml, в котором я реализовал CheckBoxPreference и EditTextPreference.

Все настройки отлично работают во время работы приложения, но когда я его убиваю, я теряю все настройки.

Файл Preference.xml:

<PreferenceCategory android:title="Connection">

    <CheckBoxPreference
        android:title="Auto Log-In"
        android:summary="Auto connect "
        android:key="autoLogIn" 
        android:enabled="true" 
        android:selectable="true"/>

    <EditTextPreference
        android:name="Server"
        android:summary="Change the default server"
        android:defaultValue="www.google.com"
        android:title="Change server to:"
        android:key="www.google.com" />

</PreferenceCategory> 

Preferences.class

public class Preferences extends PreferenceActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        addPreferencesFromResource(R.xml.preferences);\
    }
}

Как заставить приложение сохранить настройки?

ОБНОВЛЕНИЕ: Я провел некоторый тест, и на Виртуальном устройстве и на моем старом HTC Legend с android 2.1 настройки работают отлично!Но они не работают на Samsung Galaxy S с Android 2.2!Имеет ли это смысл для кого-либо?

Ответы [ 3 ]

2 голосов
/ 09 сентября 2011

Я решил проблему с помощью мягкого сброса * моего Samsung Galaxy S ... не могу поверить, что я целый день тянул на правильный код.

Надеюсь, это сэкономит время другим. Marco

* Мягкий сброс : Настройки -> Конфиденциальность -> Сброс к заводским настройкам.

0 голосов
/ 04 сентября 2011

Я думаю, вам нужно установить android:persistent="true" для предпочтений, которые вы хотите сохранить в SharedPreferences.Как дано здесь .

0 голосов
/ 04 сентября 2011

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

Вы уверены, что не просто перепутали ключ со значением?Ваш серверный ключ android:key="www.google.com" Может быть, поэтому вы думаете, что он не сохранен?

...