Android: valeur de chaîne ne reçoit pas de préférence partagée
-
09-10-2019 - |
Question
J'ai créé une préférence partagée pour une valeur booléenne et pour une valeur de chaîne. La valeur booléenne est obtenu dans une autre activité. Mais la chaîne je ne reçois valeur par défaut.
Home.class
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
SharedPreferences.Editor spe = prefs.edit();
spe.putBoolean("flag", true);
spe.putString("user", "hello");
spe.commit();
welcome.class
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
boolean flag= prefs.getBoolean("flag", false);
String user=prefs.getString("user","Nothing");
TextView tv = new TextView(this);
tv.setText("Flag : "+flag+(" User : "+user);
Pour « utilisateur », ne « rien » affiche. Où dois-je corriger mon code?
La solution
Essayez d'utiliser:
SharedPreferences settings = getSharedPreferences(appName,0);
settings.getBoolean("flag", true);
settings.getString("user", "hello");
Et pour mettre:
SharedPreferences settings = getSharedPreferences(appName,0);
SharedPreferences.Editor editor = settings.edit();
editor.putBoolean("flag",true);
editor.putString("user","hello");
editor.commit();
est ce que je l'utilise dans mon application, et il partage booléens / ints / cordes accrossed beaucoup de classes
Note:. AppName ne doit pas être le nom de l'application, comme dans le tutoriel officiel
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow