Aller au contenu

[Résolu] Pb passage variable entre deux activités


Stilgardt

Recommended Posts

Salut à tous,

Je rencontre un problème lors du passage de variables entre deux activités. Un gros truc doit m'échapper mais je n'arrive pas à le trouver... J'ai regardé un message plus ancien dans le forum de Hhugues traitant d'un sujet similaire mais ça ne marche pas non plus.

Lorsque je passe ma variable de l'activité1 à l'activité2, je trouve toujours "null" quand je suis dans l'activité2.

Je m'aperçois aussi en debuggant que le savedInstanceState de l'activité2 est null. Donc c'est peut-être pour ça mais je ne comprends pas comment faire autrement... :|

Voici mon code résumé:

Activité1 est dans un fichier Activité1.java et Activité dans Activité2.java.

public class Activité1 extends Activity{

...

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

...

Intent intent = new Intent(Activité1.this, Activité2.class);

intent.putExtra("game_variable", "10");

startActivity(intent);

...

}

public class Activité2 extends Activity{

...

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

...

Bundle BundleObject = this.getIntent().getExtras();

String game_version = BundleObject.getString("game_variable");

...

}

et game_version est toujours "null"...

Alors, j'ai fait une grosse erreur de débutant? :/

Modifié par Stilgardt
Lien vers le commentaire
Partager sur d’autres sites

C'est juste une petite erreur de méthode que tu appelles dans ton Activity2 :

public class Activité2 extends Activity{

...

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

final Intent callingIntent = getIntent();

String game_version = callingIntent.getStringExtra("game_variable");

...

}

Normalement ça devrait marcher comme ça.

Lien vers le commentaire
Partager sur d’autres sites

C'est juste une petite erreur de méthode que tu appelles dans ton Activity2 :

public class Activité2 extends Activity{

...

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

final Intent callingIntent = getIntent();

String game_version = callingIntent.getStringExtra("game_variable");

...

}

Normalement ça devrait marcher comme ça.

Merci Kuiplo pour ta réponse!

Ca marche parfaitement maintenant!

Merci beaucoup et à charge de revanche! :D

Modifié par Stilgardt
Lien vers le commentaire
Partager sur d’autres sites

  • 2 months later...

Mario, je te balance le code en gros, j'espere que tu sauras t'y retrouver!

Dans l'activité 1;

startActivityForResult(i, ACTIVITY_2)

et

protected void onActivityResult(int requestCode, int resultCode, Intent intent) {
       super.onActivityResult(requestCode, resultCode, intent);
       //Codes.mondebug(""+requestCode);
       switch(requestCode) {
(..)
      case ACTIVITY_2:
           String monString = intent.getStringExtra("BLABLA"){
           break;

Dans l'activité 2

        bundle.putString("BLABLA",monString);
       Intent mIntent = new Intent();
       mIntent.putExtras(bundle);
       context.setResult(RESULT_OK, mIntent);

Modifié par Profete162
Lien vers le commentaire
Partager sur d’autres sites

Rejoignez la conversation

Vous pouvez poster maintenant et vous enregistrez plus tard. Si vous avez un compte, connectez-vous maintenant pour poster.

Invité
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • Créer...