bart38 Posté(e) 1 janvier 2010 Share Posté(e) 1 janvier 2010 Salut à tous ! Je suis nouveau dans le développement sous Android donc je ne maitrise pas encore tout :D Alors voilà j'explique mon problème : Lors du lancement de mon application une première activité A est créé. L'utilisateur clique sur le bouton "menu" et clique sur "configurer". Il arrive sur l'activité B. Il remplit ces informations clique sur le bouton "suivant" et arrive sur l'activité C. Il remplit d'autres informations et clique sur "accepter". Ici j'aimerai revenir sur mon activité A et l'enrichir des informations entrés par l'utilisateur. Je ne vois pas comment faire et ne trouve pas la bonne méthode pour rappeler au premier plan l'activité A. information supplémentaire : Lors du clique sur le bouton "configurer", "suivant" ou "accepter" je fais ça : Intent in = new Intent(this,Configurer.class); this.startActivityForResult(in, 1000); Si vous avez une idée cela permettrait de me débloquer :) Merci à vous. Bart Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Cyril Mottier Posté(e) 2 janvier 2010 Share Posté(e) 2 janvier 2010 Il te suffit d'arrêter ton Activity avec finish() ou finishActivity(int) et de gérer les changements au niveau de l'Activity A. Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Antares Posté(e) 21 janvier 2010 Share Posté(e) 21 janvier 2010 Bonjour, J'ai un peu le même problème en fait... J'ai une activité principale A qui peut lancer plusieurs activité (B, C, D, ...) et dans certaines de ces activités je peux accéder à une vue préférence qui est donc une activité que l'on appellera Z. j'ai donc une arborescence d'activité avec en bout de chaine la même activité Z. Je veux donc, quelque soit l'endroit où je suis, revenir directement à mon activité A. Je pourrai repasser par le onActivityResult, et faire des finish jusqu'à revenir à mon activité principale, mais je voud[color=red]rai[/color] pouvoir le faire automatiquement sans avoir à rajouter du code dans toutes les activités. Si une nouvelle activité se sert de mon activité Z, j'aimerai qu'on puisse revenir aussi à l'activité A sans avoir à rajouter un code dans le onActivityResult. Connaissez-vous un moyen pour faire celà ? Merci Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Antares Posté(e) 21 janvier 2010 Share Posté(e) 21 janvier 2010 Question posée autrement : comment lancer l'activité "root" de la stack ? Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Alocaly Posté(e) 21 janvier 2010 Share Posté(e) 21 janvier 2010 Hum... Il y a une autre méthode, donnée dans les exemples de google itself : si tu as une activité principale A, qui lance B, qui peut lancer C, et qui elle-même peut lancer D. Si tu veux quand de B, C, et D, on retourne directement dans A par le back, il suffit de ne pas empiler toutes les activities intermédiaires dans la pile. Plus exactement : quand tu passes de B à C, tu dépiles B, et tu empiles C. Pour passer de C à D, tu dépile C, et tu empiles D. Et comment qu'on fait ca, me direz vous ? Ben c'est bien simple : Dans B, quand tu veux passer à C, tu fais : start intent ( activityC); finish(); // <-- c'est lui qui est important !! Le finish que tu fais dans B quand tu appelles C permet d'oter B de la pile... Magique ! J'espere que c'etait pas trop confus...:) Emmanuel / Alocaly Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
slevin Posté(e) 21 janvier 2010 Share Posté(e) 21 janvier 2010 Salut, C'était pas du tout confus . Ça peut toujours servir. Merci. Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Antares Posté(e) 22 janvier 2010 Share Posté(e) 22 janvier 2010 Merci pour l'information :) J'ai juste un soucis : on doit revenir à l'activité principale (ça c'est bon), mais seulement dans un cas particulier, du coup le finish() ne doit pas se faire dans tous les cas. De plus, si je ne vais pas jusqu'à la dernière activité, je dois pouvoir revenir à l'activité d'avant. Ahhh je vous pose une sacré colle là hein ? :D Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Fluckysan Posté(e) 22 janvier 2010 Share Posté(e) 22 janvier 2010 @Alocaly : un autre moyen un peu plus tordu serait de faire lancer les Activity par A à chaque fois en passant par son onActivityResult ... Oui c'est tordu, mais au moins A a toujours le résulat des autres :p @Antares : j'ai peur que tu ais à le gérer dans ton onActivityResult (tu ne peux pas connaître ce que va faire l'utilisateur :p) Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Antares Posté(e) 22 janvier 2010 Share Posté(e) 22 janvier 2010 Enfer et programmation ! :) Je m'en doutais un peu... 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.