更改首选项不会更改SharedPreferences值

时间:2014-01-29 18:05:56

标签: android sharedpreferences android-preferences

我正在我的应用程序中实现首选项,我以前从未使用过这些首选项。我已经阅读了documentation,但我无法在任何地方找到解决方案,但我可能会错过它。

我已经实现了这样的偏好:

<CheckBoxPreference 
        android:title="@string/preference_update_urnik_title"
        android:summary="@string/preference_update_urnik_summary"
        android:key="autoUpdate"
        android:defaultValue="true"/>

我基本上没有做任何其他事情。我现在正试图获得这种偏好的价值:

boolean autoUpdate = prefs.getBoolean("autoUpdate", true);

无论是否选中该复选框,它都将返回true,因此当我选中/取消选中复选框时,我猜测首选项无法写入SharedPreferences。我必须手动完成吗?因为我认为这应该是自动发生的。

我将偏好类文件留空:

public class NastavitveActivity extends PreferenceActivity {

    @Override
    protected void onPostCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        addPreferencesFromResource(R.xml.preferences);
    }
}

1 个答案:

答案 0 :(得分:0)

Preferences prefs = PreferenceManager.getDefaultSharedPreferences(context)
boolean value = preferences.getBoolean("autoUpdate", true);

这适合我。