Как вы получаете значение по умолчанию для Android-предпочтения, определенного в XML? Я не хочу повторять определение значения по умолчанию как в коде, так и в XML-настройках.
Значение по умолчанию для Android-предпочтений
Ответ 1
Вы можете определить значение по умолчанию в ресурсах (/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);
Ответ 2
Сначала вам нужно определить значения по умолчанию в вашем XML файле предпочтений. Затем вы можете заполнить настройки значениями по умолчанию в своем основном мероприятии, вызвав:
PreferenceManager.setDefaultValues(this, R.xml.preference, false);
Когда вам нужно получить какое-то предпочтение, просто позвоните:
int value = prefs.getInt("key", null);
Поскольку ваши настройки заполнены, вы не получите значение null
.
Ответ 3
Создайте integer.xml под res/values для хранения целочисленных констант.
В файле prefereces.xml "@integer/default_brightness"
В коде context.getResources(). getInteger (R.integer.default_brightness)