5 votes

Navigation sur Android : Comment revenir à l'écran précédent ?

Je voudrais savoir comment revenir à l'écran précédent sur Android. Pas seulement revenir en arrière. J'ai l'habitude d'appuyer sur le bouton "Back" (retour) sur le smartphone, mais souvent, il n'existe pas ou me ramène à la maison alors qu'il aurait dû me ramener à l'écran précédent.

5voto

David Negron Points 971

Il s'agit d'une simplification excessive, mais la réponse est simple : vous ne pouvez pas.

En quoi est-ce une simplification excessive ? Eh bien, c'est parce que cela dépend de la façon dont une application donnée est mise en œuvre. Les applications Android sont basées sur le concept d'une Activité qui est décrit dans la documentation de développement comme suit :

Une activité est une chose unique et ciblée que l'utilisateur peut faire.

Lorsqu'une nouvelle activité est lancée, elle est placée sur une "pile d'activités" à l'échelle du système, en haut de la pile (pour ceux qui ne connaissent pas, voir Pile (structure de données) ). Lorsque vous appuyez sur le bouton Retour, l'activité en cours (au sommet de la pile) est terminée et supprimé de la pile, ce qui a pour effet de faire passer le précédent (situé en dessous sur la pile) au premier plan. Ce comportement d'éjection et de mise au premier plan se poursuit lorsque vous appuyez sur la touche retour jusqu'à ce que vous arriviez à HOME, qui est le début de la pile. À partir de là, vous ne pouvez plus revenir en arrière.

Comment cela s'applique-t-il aux applications ? Dans de nombreuses applications, une activité représente une personne, individuel écran. Lorsque vous passez à un nouvel écran, une nouvelle activité est donc créée pour cet écran et placée sur la pile, au-dessus de celle qui l'a créée. Dans les applications qui utilisent cette conception, le fait d'appuyer sur la touche retour vous ramène en fait à l'écran précédent. La raison devrait être assez évidente : l'écran que vous êtes en train de visualiser se trouve en haut de la pile, l'écran précédent se trouve en dessous (puisqu'ils sont chacun des activités). Ainsi, le fait d'appuyer sur Retour enlève l'écran actuel de la pile, le termine, puis charge l'écran précédent.

Il ne s'agit pas d'un modèle obligatoire Cependant. Vous pouvez avoir une activité qui contient plusieurs mises en page et écrans. Nous l'avons utilisé dans mon bureau pour, par exemple, créer une sorte d'assistant de configuration. L'idée est que le fait d'appuyer sur le bouton "Retour" permet de quitter l'assistant, et des boutons "Précédent" et "Suivant" sont présents sur l'écran lui-même pour permettre la navigation. Ainsi, même si vous vous trouvez au troisième écran de l'assistant, vous n'avez pas créé d'activités supplémentaires, et le fait d'appuyer sur le bouton "Retour" (bouton dur) vous fera quitter l'"activité de l'assistant" et revenir à l'"activité du menu".

De plus, le comportement du bouton retour peut être Remplacé par par une application de leur choix. Elle appelle simplement une méthode nommée onBackPressed() qui exécute le comportement par défaut consistant à revenir en arrière dans la pile des activités. Toutefois, s'il existe une implémentation surchargée de la fonction onBackPressed() dans l'activité en cours, que sera exécuté à la place.

Donc, pour résumer : l'idée selon laquelle le bouton retour permet de revenir à l'"écran" précédent n'est pas du tout garantie. Le bouton de retour en dur traite des activités ばかり qui sont souvent des "écrans" pour l'utilisateur, mais ne le sont pas nécessairement et ne sont en aucun cas tenus de l'être. Il n'existe pas de concept de "retour en arrière d'un écran Cette fonctionnalité n'est toujours pas garantie par le bouton "retour" lui-même.

Pour en savoir plus :

1voto

Matthew Read Points 50150

Si une application ne vous ramène pas à l'écran précédent lorsque vous appuyez sur la touche Retour, ni vous ni Android ne pouvez y remédier. Vous pouvez demander au développeur de l'application de l'implémenter, mais c'est à peu près tout.

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X