Aller au contenu

[RESOLU] Transmettre des données entre Activity


Carthage

Recommended Posts

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

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 :

Bundle[{myInfo={img=2130837515, titre=Hello, description=250}}]

- pour la variable myCoolInfo :

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

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

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

@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

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...