Partage
  • Partager sur Facebook
  • Partager sur Twitter

[Android] Transfert HashMap

D'une activity à une autre

Sujet résolu
    5 avril 2012 à 16:25:04

    Bonjour, débutant dans Android, j'aimerais pouvoir transférer une HashMap<String, Double> d'une activity à une autre.

    Je pensais à un Bundle mais cela ne fonctionne pas...

    Est-ce possible ?
    Si oui (ou même si ça ne l'est pas xD) comment puis-je faire ?

    Merci =D
    • Partager sur Facebook
    • Partager sur Twitter
      5 avril 2012 à 16:37:20

      Bonjour,

      Une HashMap implémentant l'interface Serializable, tu devrais pouvoir la passer via:
      myIntent.putExtra ("myName", myHashMap);
      

      (fonction putExtra (String name, Serializable value))

      Ensuite, tu récupères le tout grâce à:
      // Il faut caster en HashMap la valeur retournée
      getIntent().getSerializableExtra("myName");
      

      que tu mets dans une nouvelle HashMap.
      Soit en gros (j'ai pris comme exemple une HashMap<String,String>, à toi d'adapter le code):
      HashMap <String,String> myHashMap = (HashMap <String,String>)(getIntent().getSerializableExtra("myName"));
      


      Dans le même ordre d'idée, tu as la clase Bundle qui a une méthode putSerializable (String key, Serializable value) et son mirroir getSerializable (String key).
      • Partager sur Facebook
      • Partager sur Twitter
        5 avril 2012 à 16:41:04

        Bonjour,

        Pour des soucis d'optimisation, je te conseil de regarder cet article : Lien.
        Les HashMap sont très gourmandes en mémoire, elles sont donc à éviter.
        Je te conseil cette alternative et de faire en sorte qu'elle soit Serializable.
        • Partager sur Facebook
        • Partager sur Twitter
        Si vous voulez me retrouver, rendez-vous sur ZesteDeSavoir.
          5 avril 2012 à 17:16:34

          Merci pour vos réponses =D

          Effectivement, le putExtrat fonctionne !

          L'optimisation est, pour l'instant, pas nécessaire, mais je garde l'article sous la main AndroWiiid !

          • Partager sur Facebook
          • Partager sur Twitter

          [Android] Transfert HashMap

          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
          • Editeur
          • Markdown