Aller au contenu

[RESOLU] Transmettre des données entre Activity


Carthage

Recommended Posts

Posté(e)

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.

Posté(e)

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

Posté(e)

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.

Posté(e)

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 !

Posté(e)

@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 !!

Archivé

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

×
×
  • Créer...