Android偏好的默认值

时间:2010-05-04 17:07:06

标签: android android-preferences

如何获取XML中定义的Android首选项的默认值?我不想在代码和首选项XML中重复默认值的定义。

3 个答案:

答案 0 :(得分:61)

您可以在资源(/values/bool.xml)中定义默认值:

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

使用preferences.xml

中的值
<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 :(得分:11)

首先,您需要在首选项XML文件中定义默认值。 然后,您可以通过调用:

在主Activity中使用默认值填充首选项
PreferenceManager.setDefaultValues(this, R.xml.preference, false);

当您需要检索某个偏好时,请致电:

int value = prefs.getInt("key", null);

由于您的偏好设置已填充,因此不会获得null值。

答案 2 :(得分:1)

integer.xml下创建res/values以存储整数常量。

prefereces.xml参考"@integer/default_brightness"

代码context.getResources().getInteger(R.integer.default_brightness)