Bonjour à tous,
Je rencontre un petit problème sur mon application.
J'ai peut être mal compris tout ce qui est tâche et pile d'activité mais je vais vous présenter mon problème en essayant d'être clair car ce n'est pas simple à expliquer et sur le forum je ne trouve pas de réponse.
Mon application se compose d'un main et de 4 boutons (elle n'est pas fini), ces boutons renvoient tous vers une nouvelle activité.
Quand je clique sur un bouton cela ouvre une nouvelle activité, chose normale, mais c'est le retour en arrière qui pose problème.
En gros je vous résumé ce que je viens de faire dans mon application (en termes de clics).
1) Je commence je suis dans le Main, je clique sur le bouton 1 et j'arrive sur l'activité 1, il n'y a encore rien donc j'appuie sur le bouton Back du téléphone et je retourne dans le main.
Main -> Activité 1 (bouton back téléphone) ->
2) Je suis dans le Main (de nouveau), je clique sur le bouton 2 et j'arrive sur l'activité 2, l'activité 2 a 3 boutons, je clique sur le 1er qui me fait un retour vers le main, je reclique sur le bouton 2 qui m'envoie à nouveau sur l'activité 2 et je clique sur le 2eme bouton de cette activité qui fait aussi un retour sur le main (j'ai pas encore codé les 2 premiers boutons juste ils ont un entent qui renvoie au clic sur le Main), une fois revenue dans le main je clique sur le bouton 2 et je reviens dans l'activité 2, je clique sur son 3eme bouton et cela m'ouvre une nouvelle activité que j'appellerai l'activité 2_Suite, ici je dois remplir mon profil mais ce n'est pas encore codé alors j'appuie juste sur le bouton back du téléphone qui me renvoie sur l'activité 2 (pas fermée) où je rappuie encore sur back et je suis de retour dans le main.
Main -> Activité 2 (bouton retour intent) -> Main -> Activité 2 (bouton retour intent) -> Main -> Activité 2 -> Activité 2_Suite (bouton back) -> Activité 2 (bouton back) ->
3) A nouveau dans le Main, je clique sur le bouton 3 et j'arrive sur l'activité 3, ici c'est juste du texte et j'ai un bouton Retour, je clique dessus et il m'ouvre le Main (je ne clique pas sur le Back du téléphone)
Main -> Activité 3 (bouton retour intent) ->
4) Je reviens donc dans le Main où je clique sur le bouton 4 qui m'ouvre l'activité 4, dans l'activité 4 il y a un EditText que je rempli et je clique sur le bouton qui me renvoie dans un intent ce texte dans le Main (où il sera affiché).
Main -> Activité 4 (clique bouton intent résultat text) -> Main (avec le texte affiché)
5) Ensuite me revoilà de retour dans le Main où je vais cliquer sur le bouton Back du téléphone pour en sortir sauf que le résultat attendu n'est pas celui là, car je me retrouve dans mon Activité 3 (clic back) alors je reclique sur le bouton back plusieurs fois pour sortir de l'application et revenir sur le Home.
Main -> Activité 3 -> Main -> Activité 2 -> Main -> Activité 2 -> Main -> Quitte l'application (Home)
Donc le problème c'est qu'apparement plusieurs Main se créé et que plusieurs de mes activités (notamment la 2) se créé et ne se ferme pas.
J'aimerais que quand je suis dans le Main je sorte simplement de l'application quand je clique sur le bouton Back du téléphone.
J'ai tenté de mettre des "finish()" dans tous les onPause() de mes activités sauf le main mais toutes les activités se ferment directement.
Ex: si je suis dans le Main -> Je clique sur le bouton 2, j'entre dans l'activité 2 puis j'entre dans l'activité 2_Suite, avec les finish() lorsque je fais le bouton Back alors je ne retourne pas en arrière, je retourne directement dans le main mais ce n'est pas non plus ce que je veux.
J'ai aussi pensé à redéfinir la fonction "onBackPressed()" mais je ne sais pas si ça peut correspondre.
Est-ce que quelqu'un aurait une explication à mon problème et saurait comment le résoudre? Car il n'y a bien sûr aucune erreur dans le Logcat à ce sujet.
Merci à vous tous pour vos réponses, j'espère avoir été assez clair.
Bonne soirée.
Pikkoro359
Partager