Navigation Android: Comment revenir à l'écran précédent? -- screen domaine et navigation domaine et menu domain android en relation problème

Navigating Android: How To Go Back To Previous Screen?



3
vote

problème

français

J'aimerais savoir comment retourner à l'écran précédent sur Android. Pas seulement revenir en arrière. J'appuyez habituellement sur le bouton "Retour" sur le smartphone, mais cela existe souvent ou me ramène à la maison quand il aurait dû m'avoir emmené à l'écran précédent.

langue Anglaise

I would like to know how to return to previous screen on Android. Not just go back. I usually tap "Back" button on smartphone but often it just exists or takes me back to home when it should have taken me to previous screen.

        

Liste de réponses

5
 
vote
vote
Meilleure réponse
 

C'est quelque chose d'une simplification excessive, mais la réponse simple est la suivante: vous ne pouvez pas.

Qu'est-ce qui en fait une simplification excessive? Eh bien, c'est parce que cela dépend de la mise en œuvre d'une application donnée. Les applications Android sont basées sur le concept d'une activité , qui est décrite dans la documentation de développement comme:

Une activité est une seule chose 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 toute personne inconnue, voir pile (structure de données) ). Lorsque vous appuyez sur le bouton arrière, l'activité actuelle (en haut de la pile) est terminée et retiré de la pile, ce qui provoque la mise en place du précédent (sous la pile). . Ce comportement POP / ARTITRÈNE au premier plan continue lorsque vous continuez à appuyer sur le bouton arrière jusqu'à ce que vous atterrissez à la maison, ce qui est le début de la pile. D'ici, vous ne pouvez pas aller "en arrière" plus loin.

Maintenant, comment s'applique-t-elle aux applications? Dans de nombreuses applications, une activité représente un écran individuel . Lorsque vous avancez à un nouvel écran, une nouvelle activité est en fait créée pour l'écran et poussé sur la pile sur celui qui l'a créé. Dans les applications qui utilisent cette conception, frappez-vous en fait à l'écran précédent. La raison devrait être assez évidente: l'écran que vous visualisez actuellement est situé en haut de la pile, l'écran précédent est assis en dessous (puisqu'ils sont toutes les activités elles-mêmes). Ainsi, la récupération en arrière supprime l'écran actuel de la pile, la finit, puis charge la précédente.

Ce n'est pas un modèle requis , cependant. Vous pouvez avoir une activité contenant plusieurs mises en page et écrans. Nous avons utilisé cela dans mon bureau pour créer, par exemple, créer un magicien de configuration de TRES. L'idée est que la frappe en arrière devrait simplement quitter l'assistant et il y a des boutons "retour" et "suivant" de l'écran lui-même pour fournir la navigation. Ainsi, même si vous êtes sur le troisième écran de l'assistant, vous n'avez créé aucune activité supplémentaire, alors frapper le bouton arrière (bouton dure) vous emmènera hors de "l'activité de l'assistant" et retour à "l'activité du menu".

En outre, le comportement du bouton arrière peut être ultérieurement par une application de leur choix. Il appelle simplement une méthode nommée onBackPressed() , qui effectue le comportement par défaut d'aller en arrière sur la pile d'activités. Cependant, s'il y a une implémentation remplacée de onBackPressed() dans l'activité actuelle, que sera exécuté à la place.

Donc de résumer: l'idée que le bouton arrière revient à l'ancien "écran" n'est pas du tout garantie. Le bouton durs du dur traite des activités uniquement , qui sont souvent des "écrans" à l'utilisateur, mais ne sont pas nécessairement et ne sont en aucun cas nécessaires. Il n'y a pas de concept de "revenir en arrière d'un écran ", à moins que l'application que vous utilisez indique qu'il n'y a pas, mais que cette fonctionnalité n'est toujours pas garantie d'être fournie par le bouton arrière lui-même.

Lecture ultérieure:

  • Conception d'activité et de tâche
  • Documentation d'activité
 

This is something of an oversimplification, but the simple answer is: you can't.

What makes this an oversimplification? Well, it's because it depends on how a given app is implemented. Android applications are based around the concept of an Activity, which is described in the development documentation as:

An activity is a single, focused thing that the user can do.

When a new Activity is launched it is placed onto a system-wide "Activity stack" at the top of the stack (for anyone unfamiliar, see Stack (data structure)). When the back button is pressed, the current Activity (at the top of the stack) is finished and removed from the stack, causing the previous one (beneath it on the stack) to be brought to the foreground. This pop/bring-to-foreground behavior continues as you keep pressing the back button until you land at HOME, which is the start of the stack. From here, you cannot go "back" any further.

Now, how does this apply to apps? In many applications, an Activity represents one, individual screen. When you advance to a new screen, then, a new Activity is actually created for the screen and pushed onto the stack on top of the one that created it. In apps that use this design, hitting back will, in fact, bring you to the previous screen. The reason should be fairly self-evident: the screen you are currently viewing is on the top of the stack, the previous screen sits below it (since they are each Activities themselves). Thus, hitting back removes the current screen from the stack, finishes it, and then loads the previous one.

This is not a required model, however. You can have an Activity that contains multiple layouts and screens. We have used this in my office to, for example, create a configuration wizard of sorts. The idea is that hitting back should simply exit the wizard, and there are "Back" and "Next" buttons on the screen itself to provide navigation. Thus, even if you are on the third screen of the wizard, you have not created any additional Activities, so hitting the back button (hard button) will take you out of the "Wizard Activity" and back to the "Menu Activity".

Further, the behavior of the back button can be overridden by an application of they so choose. It simply calls a method named onBackPressed(), which performs the default behavior of going backwards on the Activity stack. However, if there is an overridden implementation of onBackPressed() in the current Activity, that will be executed instead.

So to sum up: the idea that the back button goes back to the previous "screen" is not guaranteed at all. The hard back button deals with Activities only, which are often "screens" to the user, but aren't necessarily, and are in no way required to be. There is no concept of "go back one screen" unless the app you are using says there is, but that functionality is still not guaranteed to be provided by the back button itself.

Further reading:

  • Activity and Task Design
  • Activity documentation
 
 
1
 
vote

Si une application ne vous amène pas à l'écran précédent lorsque vous avez touché, il n'y a rien de vous ou d'Android ne peut faire à ce sujet. Vous pouvez demander au développeur de l'application de la mettre en œuvre, mais c'est à ce sujet.

 

If an app doesn't take you to the previous screen when you hit Back, there's nothing you or Android can do about it. You could ask the app's developer to implement it but that's about it.

 
 

Questions connexes

0  Pas capable d'accéder au menu de service sur mon Galaxy S3  ( Not able to access the service menu on my galaxy s3 ) 
J'ai un Samsung Galaxy S3 de Cellular américain et j'essaie de l'utiliser sur un transporteur différent. J'ai ajouté la nouvelle carte SIM et j'ai essayé to...

3  Navigation Android: Comment revenir à l'écran précédent?  ( Navigating android how to go back to previous screen ) 
J'aimerais savoir comment retourner à l'écran précédent sur Android. Pas seulement revenir en arrière. J'appuyez habituellement sur le bouton "Retour" sur le ...

2  Comment organiser automatiquement des icônes dans le menu App?  ( How do i auto arrange icons in the app menu ) 
Mon appareil est un Samsung Galaxy Ace / Cooper. C'est courir sur Froyo. Je souhaite automatiquement organiser des icônes dans le menu App. Y a-t-il un moyen ...

2  Ajouter une application au menu Ouvrir avec  ( Add an application to the open with menu ) 
J'utilise un haricot de jelly Samsung Note II 4.1.2. Je voudrais ajouter une application à la liste Open avec. J'ai téléchargé une application d'édition de ...

0  Le navigateur ICS piraille pour restaurer "Bouton Menu expose le champ URL"  ( Hack ics browser to restore menu button exposes url field ) 
Je viens de recevoir une galaxie S3, et je suis enfin obligé de faire face à un aspect des ICS que j'ai détesté à partir du moment où elle s'est produite sur ...

0  Aperçu vidéo USB  ( Usb video preview ) 
Après avoir numérisé toute la vieille vidéo de ma famille, je cherche maintenant un moyen de distribuer les vidéos rendues dans la famille. J'aurais préféré u...

5  Comment puis-je grouper des applications ensemble dans la vue menu?  ( How can i group apps together in the menu view ) 
La vue MENU du téléphone répertorie toutes les applications que j'ai installées. tous d'entre eux. Le téléphone est venu pré-installé avec 2,5 pages d'app...

1  Comment faire glisser le menu en 3D?  ( How to make menu slide in 3d ) 
Je l'ai vu ici: http: / /theunlockr.com/2011/04/12/Android-101-how-a-scan-uuse-a-qr-code/ regarder la vidéo et vous verrez. Je veux savoir comment créer...

3  Comment puis-je organiser les icônes dans le menu de l'application?  ( How do i arrange the icons manually in the app menu ) 
J'utilise Micromax Canvas 2 A110 avec Android ICS 4.0.4 . J'ai installé peu d'applications qui sont triés au hasard (ou peut-être alphabétiquement). Je veu...

12  Comment simuler le bouton Menu sur Android 6?  ( How do i simulate menu button on android 6 ) 
J'utilise Samsung Galaxy S7. Appuyez longuement sur le bouton récent, ne simule pas le bouton MENU mais active le mode écran divisé. Appuyez longuement sur le...




© 2022 www.demandez.top All Rights Reserved. Questions et réponses Accueil Tous les droits sont réservés