Android共享偏好设置未保存

时间:2013-01-11 20:18:56

标签: android sharedpreferences preferenceactivity

我的应用程序中有一个非常简单的首选项页面:

<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
   <CheckBoxPreference
       android:key="autoCheck"
       android:title="@string/autoCheckLbl"
       android:defaultValue="true"
       android:summary="@string/autoCheckDesc" 
    />   
</PreferenceScreen>

此设置文件由自定义PreferenceActivity管理,它只执行以下操作:

public class SettingsActivity extends PreferenceActivity
{
    protected void onCreate(Bundle savedState) 
    {
        super.onCreate(savedState);

        addPreferencesFromResource(R.xml.settings);
    }
}

问题是,当用户进行一些更改,即检查/取消选中该设置时,似乎没有保存更改。例如,当用户导航回主活动时,我正在检索 autoCheck 设置的当前值,这样:

boolean autoCheck = PreferenceManager.getDefaultSharedPreferences(this).getBoolean("autoCheck", true);

...检索到的值不是之前由用户设置的值。只有在重新启动Android模拟器后,才能正确设置新值。

0 个答案:

没有答案