Aller au contenu

Pile d'historique et bouton BACK


cyberalternative

Recommended Posts

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.

Lien vers le commentaire
Partager sur d’autres sites

  • 2 weeks later...

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.

Lien vers le commentaire
Partager sur d’autres sites

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 !

Lien vers le commentaire
Partager sur d’autres sites

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).

Lien vers le commentaire
Partager sur d’autres sites

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

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...