Pierre87 Posté(e) 5 mars 2010 Share Posté(e) 5 mars 2010 J'ai un petit soucis technique : J'ai une Activity qu'on va appeller "List". Elle contient "visuellement" une liste d' "Objet" Mais elle a aussi un modèle de données avec une ArrayList d' "Objet" avec l'Adapter qui va bien Je veux par exemple pouvoir éditer un élément de la liste en cliquant dessus : - j'ai crée une Activity "Edit", le layout qui contient des champs de texte pour éditer mon "Objet" - dans mon Activity "List", je crée un Intent, je lui "put" mon "Objet" en tant que Serializable - dans mon Activity "Edit", je recupere mon "Objet", dans le onResume, je rempli les champs depuis l' "Objet", dans le onPause je rempli l' "Objet" depuis les champs Sauf que : je me suis planté :P Comme c'est du Serializable, j'ai 2 "Objet" différents : celui contenu dans la liste et celui que j'édite Donc forcément, celui dans la liste n'est pas modifié :P Je dois surement m'y prendre très mal, mais je pense que vous avez compris ce que je voulais faire. Comment vous faites pour réaliser ça ? Merci ! Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Pierre87 Posté(e) 5 mars 2010 Auteur Share Posté(e) 5 mars 2010 (modifié) Je viens de voir Parcelable, mais ça m'a l'air d'être un Serializable à la sauce Android... Moi je veux garder la même "adresse mémoire" Edit : je viens de penser à un truc tout bête : je n'ai jamais 2 "Edit" en même temps donc il me suffit d'une variable static dans Edit, et de lui filer mon "Objet" à chaques fois ... Modifié 5 mars 2010 par Pierre87 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Pierre87 Posté(e) 5 mars 2010 Auteur Share Posté(e) 5 mars 2010 bon ba pour info, ma technique "static" marche :P pas forcement propre, mais très rapide ! en plus, il suffit qu'une fois que l'Activity Edit est crée, de copier "en local" (pas en static) l' "Objet" pour ne pas avoir de probleme. Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Alocaly Posté(e) 5 mars 2010 Share Posté(e) 5 mars 2010 Sinon, un truc qui me semble plus propre serait d'utiliser de stocker ta liste dans l'application, non ? Emmanuel / Alocaly Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Pierre87 Posté(e) 5 mars 2010 Auteur Share Posté(e) 5 mars 2010 Tu veux dire : stocker "en mémoire" dans mon objet Application la liste des Connection ? Ouais ça pourrait le faire, j'aurais juste besoin de passer l'index de la Connection à éditer dans ce cas... Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Nivek Posté(e) 6 mars 2010 Share Posté(e) 6 mars 2010 Ou en base de données. Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Alocaly Posté(e) 6 mars 2010 Share Posté(e) 6 mars 2010 En base de données, ca me parait plus chaud... Il faut avoir une fonction pour sérialiser / désérialiser ton objet en type simple que tu peux stocker dans ta base. Ca fait du boulot pour pas grand chose si tu n'en as pas besoin à coté... Pierre : Tu chipotes pour le 'en mémoire' :) Emmanuel / Alocaly Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
dekans Posté(e) 6 mars 2010 Share Posté(e) 6 mars 2010 Je capte pas bien, mais j'ai l'impression que tu essaie de faire ce qui est déjà implémenté avec startActivityForResult() http://developer.android.com/intl/fr/reference/android/app/Activity.html#startActivityForResult%28android.content.Intent,%20int%29 Et onActivityResult(..) pour lire l'Intent et actualiser ta liste quand l'édition est terminée. Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Pierre87 Posté(e) 6 mars 2010 Auteur Share Posté(e) 6 mars 2010 En gros, j'aurais bien aimé pouvoir passer la référence de mon objet dans l'Intent. Mais ce n'est pas possible :P Je ne voulais pas le Serializer, car ça n'aurait pas été le même objet "en mémoire" Donc ce que j'ai fait : - J'ai mis ma liste d' "Objet" dans un endroit "accessible à tous" - Je transmets entre mes Activity l'index de l' "Objet" dans la liste Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
popolbx Posté(e) 6 mars 2010 Share Posté(e) 6 mars 2010 design pattern singleton ? ca reviendrait a faire ta liste en statique et a l interroger en fct d une clef. donc tu as surement bon avec ta mthode. (ta clef etant l index ) Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Pierre87 Posté(e) 6 mars 2010 Auteur Share Posté(e) 6 mars 2010 je ne trouve pas le singleton adapté dans mon cas :s et je n'aime pas l'utiliser, sauf dans des cas très précis ... De toute manière, j'ai un objet Application, qui est accessible dans toutes mes Activity Je m'en sert pour tout centraliser : reseau, vibration, liste de connexions, etc ... Donc ça revient au même 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.