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?

Était-ce utile?

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
scroll top