Jump to content

[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? :/

Edited by Stilgardt
Link to comment
Share on other 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.

Link to comment
Share on other 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

Edited by Stilgardt
Link to comment
Share on other 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);

Edited by Profete162
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...