elnney Posted October 7, 2010 Share Posted October 7, 2010 Bonjour, Je sais que le sujet de l'échange d'information entre Activity revient régulièrement, mais là je ne trouve pas de solution. Je m'explique : J'ai 2 Activités et je switch entre les deux avec des onglets. L'activité 1 ne lance pas l'activité 2 donc putString("StringKey", "StringValue") ne fonctionne pas. J'ai pensé a faire transiter les données par ma TabActivity mais je ne vois pas à quel moment envoyer les données. Si quelqu'un a une idée je suis preneur. Edit : J'ai oublié de préciser que j'ai une solution mais je ne sais pas si c'est bien de faire ça : Dans ma TabActivity : public static String id = "test"; Dans l'Activity 1 : TabView.id = "Variable modifiée"; Dans l'Activity 2 : Utilisation de TabView.id Link to comment Share on other sites More sharing options...
ichpa Posted October 7, 2010 Share Posted October 7, 2010 Salut, Évidemment, comme tu l'écrit implicitement, le mieux serait d'utiliser le combo Intent/Bundle, plus standard, pour faire transiter les données entre les deux onglets. Mais malheureusement, comme toi je n'ai jamais trouvé de solution convaincante. Voici quelques alternatives que j'ai trouvé : l'utilisation d'un variable statique, très frustrante pour le développeur, n'est pas une aberration car une activité est un singleton. Cependant, même si cela parait évident, il faut être sûr que la TabActivity est forcement instanciée lorsque les activités filles sont affichées ; Dans la même idée, tu peux utilisé des variables (d'instance) dans la TabActivity qui sont mises à jour par un BordcastReceiver enregistré dans la TabActivity et appelé dans les activités filles (peut-être la meilleure idée) ; Ne pas utiliser d'activité pour chaque onglet mais tout inclure dans la TabActivity (solution que j'ai choisi) ; Si quelqu'un à d'autres solutions, je suis preneur. ichpa Link to comment Share on other sites More sharing options...
Fluckysan Posted October 7, 2010 Share Posted October 7, 2010 Je suis moi-même tombé sur ce genre de problème Ne voulant pas faire du static, j'ai choisi de passer par l'Application ce qui correspondait à mes besoins :) Link to comment Share on other sites More sharing options...
elnney Posted October 7, 2010 Author Share Posted October 7, 2010 Ok, merci beaucoup pour ces infos. Je vais essayer de voir sur les "Best Practices" Java pour déterminer la meilleur solution. Link to comment Share on other sites More sharing options...
Fluckysan Posted October 7, 2010 Share Posted October 7, 2010 Pourras-tu faire un retour de tes lectures ? C'est intéressant :) Link to comment Share on other sites More sharing options...
elnney Posted October 12, 2010 Author Share Posted October 12, 2010 D'après ce que j'ai pu lire sur Internet et sur mon livre JAVA l'utilisation des variables static n'est pas une aberration, c'est même recommandé dans pas mal de cas. J'ai également fait des recherches sur des forums anglais et c'est cette solution qui est proposée à chaque fois. Et comme le dis @ichpa l'activité est un singleton et finalement cette solution est peut être mieux (en terme d'optimisation) que le passage via un putString par exemple, puisqu'aucune autre variable n'est créée finalement. Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.