Stilgardt Posté(e) 11 janvier 2010 Share Posté(e) 11 janvier 2010 (modifié) 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é 11 janvier 2010 par Stilgardt Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Kuiplo Posté(e) 11 janvier 2010 Share Posté(e) 11 janvier 2010 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. Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Stilgardt Posté(e) 11 janvier 2010 Auteur Share Posté(e) 11 janvier 2010 (modifié) 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é 11 janvier 2010 par Stilgardt Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Mario35 Posté(e) 24 mars 2010 Share Posté(e) 24 mars 2010 Bonjour, Est-il possible de faire l'inverse au niveau de l'envoie de la variable? Je m'explique. J'aurais voulu que ce soir l'Activity2 qui envoie une variable à l'Activity1. Merci Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Profete162 Posté(e) 24 mars 2010 Share Posté(e) 24 mars 2010 (modifié) 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é 24 mars 2010 par Profete162 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Mario35 Posté(e) 24 mars 2010 Share Posté(e) 24 mars 2010 (modifié) Merci beaucoup pour l'aide ;) Modifié 24 mars 2010 par Mario35 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Recommended Posts
Rejoignez la conversation
Vous pouvez poster maintenant et vous enregistrez plus tard. Si vous avez un compte, connectez-vous maintenant pour poster.