如何获得在 XML 中定义的 Android 首选项的默认值?我不想在代码和首选项 XML 中重复默认值的定义。
问问题
28995 次
3 回答
64
您可以在资源 ( ) 中定义默认值/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);
于 2012-01-07T14:17:45.553 回答
13
首先,您需要在首选项 XML 文件中定义默认值。然后,您可以通过调用在主 Activity 中使用默认值填充首选项:
PreferenceManager.setDefaultValues(this, R.xml.preference, false);
当您需要检索某些首选项时,只需调用:
int value = prefs.getInt("key", null);
由于您的偏好已被填充,您将无法获得null
价值。
于 2010-05-21T11:11:21.670 回答
1
创建integer.xml
underres/values
以存储整数常量。
在prefereces.xml
参考"@integer/default_brightness"
在代码中context.getResources().getInteger(R.integer.default_brightness)
于 2013-08-02T23:53:39.963 回答