-je conserver mon booléenne comme ça dans mon activité de préférence:obtenir booléen de préférence partagée renvoie toujours false
OnPreferenceChangeListener locaListener = new OnPreferenceChangeListener() {
public boolean onPreferenceChange(Preference preference, Object newValue) {
SharedPreferences.Editor editor = getPreferences(MODE_PRIVATE).edit();
if(newValue.toString().trim().equals("true")){
editor.putBoolean("locationEnabled", true);
}else if (newValue.toString().trim().equals("false")){
editor.putBoolean("locationEnabled", false);
}
editor.commit();
return true;
}
};
et essayer de le récupérer comme ça dans mon activité principale:
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
boolean prefLocationEnabled = prefs.getBoolean("locationEnabled", false);
approche même avec string fonctionne parfaitement mais avec boolean il semble retourner toujours la valeur par défaut qui est false. Quelqu'un sait ce que je fais mal?
Etes-vous sûr 'editor.putBoolean ("locationEnabled", true);' est appelé? Est-ce que 'newValue.toString(). Trim(). Equals (" true ")' évalue à vrai? – CaseyB
oui im sûr dans les deux cas, je l'ai testé avec System.out. Il stocke la valeur mais ne peut pas le récupérer –