Carthage Posté(e) 29 mai 2011 Share Posté(e) 29 mai 2011 Bonjour à tous ! Voilà, je vous expose mon problème. J'aimerai transmettre des données entre Activity. Je m'explique, lors du passage à une autre Activity, j'aimerai que l'ancienne Activity transmette un paramètre à la nouvelle. Quelqu'un aurait-il une méthode pour cela ? Cordialement. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Carthage Posté(e) 29 mai 2011 Auteur Share Posté(e) 29 mai 2011 Bon voilà, en fouillant un peu, j'ai réussi à trouver les fonctions nécessaires. Voici ce que celà donne : Intent myIntent = new Intent(this, SecondActivity.class); myIntent.putExtra("myInfo", map); Bundle bundy = this.getIntent().getExtras(); String myCoolInfo = bundy.getString("myInfo"); Mais maintenant, j'ai une erreur :s En effet, lorsque je passe en débogage et que je mets un point d'arrêt juste après la dernière fonction pour vérifier l'état des variables, voilà ce que j'ai : - pour la variable bundy : Citation Bundle[{myInfo={img=2130837515, titre=Hello, description=250}}] - pour la variable myCoolInfo : Citation NULL Mais comment puis-je faire pour récupérer directement le champ "titre" dans la variable myCoolInfo ? D'avance merci Lien vers le commentaire Partager sur d’autres sites More sharing options...
nahzhir Posté(e) 29 mai 2011 Share Posté(e) 29 mai 2011 Bonjour, En fait, "myInfo" est une map, donc tu ne pourras pas avoir la valeur des maps par bundy.getString("myInfo"); tu devrais faire : Map map = (Map) bundy.getObject("myInfo"); map.get("titre") De cette façon tu récuperes d'abord ton objet puis ensuite de l'exploite de la façon que tu veux. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Carthage Posté(e) 30 mai 2011 Auteur Share Posté(e) 30 mai 2011 Bonjour, effectivement, comme ça, ça va mieux, merci :) En revanche, un autre problème intervient tout de suite. Voici mon code : Bundle bundy = this.getIntent().getExtras(); Map map = (Map) bundy.get("myInfo"); if (map.get("titre")=="Hello") { // Déclaration } Avec map ayant la valeur suivante : {img=2130837515, titre=Hello, description=250}, la fonction if est comme inexistante. En effet, il passe au travers du if est n'exécute donc pas le code se trouvant dans ce fameux if. Pour moi, tout à l'air correct et je ne vois pas comment je peut faire pour que ce code soit exécuter. Merci ! Lien vers le commentaire Partager sur d’autres sites More sharing options...
frozenscar Posté(e) 30 mai 2011 Share Posté(e) 30 mai 2011 Salut, pour les chaines de caracteres, utilise la methode .equal() ++ Lien vers le commentaire Partager sur d’autres sites More sharing options...
Honikou Posté(e) 30 mai 2011 Share Posté(e) 30 mai 2011 Tu peux aussi utiliser un singleton Lien vers le commentaire Partager sur d’autres sites More sharing options...
Mc Flurry Posté(e) 30 mai 2011 Share Posté(e) 30 mai 2011 Mais, tu n'utilise pas getObject ?! Lien vers le commentaire Partager sur d’autres sites More sharing options...
Carthage Posté(e) 30 mai 2011 Auteur Share Posté(e) 30 mai 2011 @Mc Flurry : Non je n'utilise pas getObject car je ne sais pas pourquoi, mais ça ne veut pas fonctionner chez moi :( Sinon avec : if (map.get("titre").equals("Hello")) { // Déclaration } ça fonctionne très bien. Un grand merci pour votre aide !! Lien vers le commentaire Partager sur d’autres sites More sharing options...
Recommended Posts
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.