应用程序关闭后无法保存我的偏好设置

4

你好,我正在尝试在我的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的设置工作正常!但是在使用Android 2.2的三星Galaxy S上,它们不起作用!这对任何人有意义吗?

3个回答

2
我用三星Galaxy S进行了软重置,解决了问题...简直不敢相信我浪费了一整天时间在正确的代码上。
希望这可以为其他人节省一些时间。 马可
*软重置:设置 -> 隐私 -> 恢复出厂设置。

0

没有理由偏好设置不能被保存。 当您执行更改(例如勾选复选框)时,偏好设置会立即保存。

您确定您没有将键与值混淆吗?您的服务器键是android:key="www.google.com"也许这就是您认为它没有被保存的原因?


0

我认为您需要设置android:persistent="true",以便将首选项存储在SharedPreferences中。 如此处所示。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接