Stocker la valeur d'une Activity et là réutiliser

L'auteur de ce sujet a trouvé une solution à son problème.
Auteur du sujet

Bonsoir,

Je débute sur le codage d'application Android et Java… J'ai créé deux activités:

  1. MainActivity
  2. Page2

J'ai stocké deux objets String dans MainActivity à l'aide de la classe SharedPreferences.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
final SharedPreferences settings = getSharedPreferences(STOCKAGE_INFOS, 0);
final Editor editor = settings.edit();

enjoy.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {
                String nom = name.getText().toString();
                String prenom = firstname.getText().toString();
                if (!nom.equals("") && !prenom.equals("")){
                    editor.putString("nom", nom);
                    editor.putString("prenom", prenom);
                    editor.commit();

Je passe à mon autre Activity (Page2) en continuant le bloc ci-dessus

1
2
Intent myIntent = new Intent(MainActivity.this, Page2.class);
MainActivity.this.startActivity(myIntent);

Tout fonctionne correctement jusque là…

Dans mon autre Activity (Page2) j'essaye de récupérer la valeur des variables enregistrées en appelant mes clés "nom" et "prenom".

1
2
3
SharedPreferences mySettings = PreferenceManager.getDefaultSharedPreferences(getBaseContext());
String nom = mySettings.getString("nom", "");
String prenom = mySettings.getString("prenom", "");

Seulement les valeurs des variables nom et prenom prennent la valeur par défaut, c'est à dire "".

Si quelqu'un a une solution, je suis preneur. Je pense que c'est la syntaxe getBaseContext() qui est à remplacer, mais par quoi ?

Merci par avance…

Édité par fred1599

+0 -0
Auteur du sujet

Je m'y suis remis, et grâce à stackoverflow (réponse de Ravinder) j'ai trouvé une solution…

J'ai donc remplacé cette ligne de code

1
SharedPreferences mySettings = PreferenceManager.getDefaultSharedPreferences(getBaseContext());

par

1
SharedPreferences mySettings = getApplicationContext().getSharedPreferences(MainActivity.STOCKAGE_INFOS, 0);

Tout est correct maintenant.

+1 -0
Vous devez être connecté pour pouvoir poster un message.
Connexion

Pas encore inscrit ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte