首选项不反映android中xml文件的更新默认值

时间:2015-04-03 09:07:55

标签: android sharedpreferences

下面是我的实现

<resources>
    <bool name="mypreference_default">true</bool>
</resources>

当我将值从true更改为falsefalsetrue时,我的应用程序无法获取更新的值。如何检索更新的值?以下是我的实施:

<CheckBoxPreference
    android:defaultValue="@bool/mypreference_default"
    android:key="mypreference"
    android:title="@string/mypreference_title" />

SharedPreferences p = PreferenceManager.getDefaultSharedPreferences(context);
Boolean value = context.getResources().getBoolean(R.bool.mypreference_default);
Boolean b = p.getBoolean("mypreference", value);

1 个答案:

答案 0 :(得分:0)

您好,您必须设置活动方法的默认第一个oncreate:

@Override 
    protected void onCreate() 
    { 
        PreferenceManager.setDefaultValues(this, R.xml.preferences, false);
        SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this);
        boolean autoStart = sharedPreferences.getBoolean("mypreference", true);

     {...} 
    }