cyberalternative Posté(e) 16 août 2011 Posté(e) 16 août 2011 Bonjour à tous. Je souhaite naviguer dans mon application avec le bouton BACK (flèche retour). Basiquement une activity en lance une autre qui vient se placer au dessus (TOP) de la pile d'historique (Stack) d'activities de telle sorte que le bouton BACK ramène à l'activity lancée précédemment. Je souhaite dépasser ce schéma et mettre 2 activities au même niveau comme ceci : Activity 1 --> Activity A + Activity B. Si "BACK" pressée dans Activity A -> retour à Activity 1 Si "BACK" pressée dans Activity B -> retour à Activity 1 Mon problème est le suivant : C'est l'activity A qui lance obligatoirement l'activity B : quand je presse "BACK" dans l'activity B je reviens à l'activity A alors que je souhaite revenir à l'activity 1. J'ai recherché des solutions avec les flags de mon intent (lors du lancement de l'activity B ) mais je n'ai pas réussi à résoudre mon problème. En vous remerciant.
Twin Posté(e) 31 août 2011 Posté(e) 31 août 2011 Tu as tenté de setter le flag "FLAG_ACTIVITY_NO_HISTORY" au lancement de l'activité A ? Si tu le set (en lançant A, pas B), l'activité A se terminera dès que tu passeras sur B et le bouton back te rammènera donc sur Activity 1. L'inconvénient est que cela stoppe l'activité A. Mais si ça n'est pas gênant pour ton appli ça pourrait être une solution.
cyberalternative Posté(e) 31 août 2011 Auteur Posté(e) 31 août 2011 Bonjour. J'avais tenté cela sur l'activité B et je comprends maintenant pourquoi ça ne fonctionnait pas. Si j'ai bien compris A n'a pas d'historique donc quand on clique sur "retour" sur B on revient à l'activité précédente à A. Le souci c'est que cette solution assez génante pour mon appli. Je testerai quand même cela dit pour apporter plus d'éléments de réponse. Merci à toi !
Twin Posté(e) 31 août 2011 Posté(e) 31 août 2011 De rien, j'ai eu le même genre de problème sur mon appli. :)
cyberalternative Posté(e) 2 septembre 2011 Auteur Posté(e) 2 septembre 2011 Apparemment "NO_HISTORY" ne fonctionne pas chez moi : - Je démarre l'activity A - Je démarre l'activity B avec "NO HISTORY" (via un bouton sur l'activity A) - Je relance l'activity A (via un bouton sur l'activity B ) et je clique sur le bouton "BACK" --> cela m'amène à l'activity B :( Nota : C'est un TabActivity parent qui s'occupe de lancer les activity A et B. Pour être plus précis c'est même un "GDTabActivity" (greendroid).
Alocaly Posté(e) 3 septembre 2011 Posté(e) 3 septembre 2011 J'ai peut-etre mal compris, mais il me semble que pour faire ce que tu veux, il suffit d'appeler la méthode 'finish' sur ton activité 'A' quand elle appelle ACtivité B ( et inversement ). Comme ca, l'activité B va s'ouvrir, l'activité A se fermera ( donc disparaitra de la pile d'activité ), et un back sur B te ramenera à celui qui a appelé A. Il me semble que c'est la solution pour ce genre de probleme ? Ca te semble convenir ? Emmanuel / Alocaly
cyberalternative Posté(e) 9 septembre 2011 Auteur Posté(e) 9 septembre 2011 Salut, le problème avec finish(), c'est que ça supprime les "données" de l'activity (je passe de l'activity A à l'activity B avec un bouton "switch" (ou "toggle")). Est-il judicieux d'overrider la méthode onBackpressed() pour ce cas particulier ? Merci :).
Recommended Posts
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.