programacion - manual de android en pdf
Valor predeterminado de la preferencia de Android (3)
¿Cómo se obtiene el valor predeterminado de una preferencia de Android definida en XML? No quiero repetir la definición del valor predeterminado tanto en el código como en las preferencias XML.
Cree integer.xml
bajo res/values
para almacenar constantes enteras.
En la referencia prefereces.xml
"@integer/default_brightness"
En el código context.getResources().getInteger(R.integer.default_brightness)
Primero debe definir los valores predeterminados en su archivo XML de preferencias. Luego puede rellenar las preferencias con los valores predeterminados en su Actividad principal llamando a:
PreferenceManager.setDefaultValues(this, R.xml.preference, false);
Cuando necesite recuperar alguna preferencia, simplemente llame:
int value = prefs.getInt("key", null);
Ya que tus preferencias están pobladas, no obtendrás un valor null
.
Puede definir el valor predeterminado en recursos ( /values/bool.xml
):
<resources>
<bool name="mypreference_default">true</bool>
</resources>
Utilice el valor en preferences.xml
:
<CheckBoxPreference
android:defaultValue="@bool/mypreference_default"
android:key="mypreference"
android:title="@string/mypreference_title" />
Luego use en el código:
SharedPreferences p = PreferenceManager.getDefaultSharedPreferences(context);
Boolean value = context.getResources().getBoolean(R.bool.mypreference_default);
Boolean b = p.getBoolean("mypreference", value);