medium - settings activity android studio
Android CheckBoxPreference Valor predeterminado (3)
Tienes que establecer los valores predeterminados primero:
@Override
protected void onCreate()
{
PreferenceManager.setDefaultValues(this, R.xml.preferences, false);
SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this);
boolean autoStart = sharedPreferences.getBoolean("pref_boot_startup", true);
{...}
}
Tengo el siguiente código XML para mi CheckBoxPreference
:
<CheckBoxPreference
android:key="pref_boot_startup"
android:title="Auto start"
android:defaultValue="true" />
Pero cuando recupero la preferencia en el código, el valor es false
.
sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this);
boolean autoStart = sharedPreferences.getBoolean("pref_boot_startup", true);
Mi variable autoStart
devuelve false
.
¿Hay una razón específica para esto? ¿Me falta un paso para establecer el valor predeterminado en true
?
Use el método de junkdog, pero para lo que vale, este es un error en Android:
// These two lines are working around an android bug:
// http://code.google.com/p/android/issues/detail?id=6641
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
prefs.edit().putBoolean(REFRESH_COUNTER_PREF, prefs.getBoolean(REFRESH_COUNTER_PREF, true)).commit();