Navegando a Android: ¿Cómo volver a la pantalla anterior? -- screen campo con navigation campo con menu camp android Relacionados El problema

Navigating Android: How To Go Back To Previous Screen?


3
vote

problema

Español

Me gustaría saber cómo volver a la pantalla anterior en Android. No solo volver. Por lo general, toco el botón "Atrás" en el teléfono inteligente, pero a menudo solo existe o me lleva a casa cuando debería haberme llevado a la pantalla anterior.

Original en ingles

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.

        

Lista de respuestas

5
 
vote
vote
La mejor respuesta
 

Esto es algo de una simplificación excesiva, pero la respuesta simple es: no puede.

¿Qué hace que esto sea una simplificación excesiva? Bueno, es porque depende de cómo se implementa una aplicación determinada. Las aplicaciones de Android se basan en el concepto de una actividad , que se describe en la documentación de desarrollo como:

Una actividad es una cosa única y enfocada que el usuario puede hacer.

Cuando se inicia una nueva actividad, se coloca en una "pila de actividades" de ancho de sistema en la parte superior de la pila (para cualquier persona desconocida, consulte pila (estructura de datos) ). Cuando se presiona el botón Atrás, se termina la actividad actual (en la parte superior de la pila) y se elimina de la pila, lo que hace que el anterior (debajo de la pila) se lleve al primer plano . Este comportamiento POP / TRATPORTE-FIRMAURNATE continúa al mantener presionando el botón Atrás hasta que aterrice en casa, que es el inicio de la pila. Desde aquí, no puedes ir "de vuelta".

Ahora, ¿cómo se aplica esto a las aplicaciones? En muchas aplicaciones, una actividad representa una pantalla individual . Cuando avanza a una nueva pantalla, entonces, se crea una nueva actividad para la pantalla y se empuja a la pila en la parte superior del que lo creó. En las aplicaciones que usan este diseño, de hecho, golpear la espalda, de hecho, lo llevará a la pantalla anterior. La razón debe ser bastante evidente: la pantalla que está viendo actualmente está en la parte superior de la pila, la pantalla anterior se encuentra debajo (ya que son las propias actividades). Por lo tanto, golpear la espalda elimina la pantalla actual de la pila, la finaliza y luego se carga la anterior.

Este no es un modelo requerido , sin embargo. Puede tener una actividad que contenga múltiples diseños y pantallas. Hemos utilizado esto en mi oficina para, por ejemplo, crear un asistente de configuración de clases. La idea es que golpear la espalda debe simplemente salir del asistente, y hay botones "Atrás" y "Siguiente" en la pantalla en sí para proporcionar navegación. Por lo tanto, incluso si está en la tercera pantalla del asistente, no ha creado ninguna actividad adicional, por lo que golpear el botón Atrás (botón duro) lo eliminará de la "actividad del asistente" y volver a la "actividad del menú".

Además, el comportamiento del botón Atrás puede ser anulado por una aplicación de ellos, así que elija. Simplemente llama un método llamado onBackPressed() , que realiza el comportamiento predeterminado de ir hacia atrás en la pila de actividades. Sin embargo, si hay una implementación anulada de onBackPressed() en la actividad actual, que se ejecutará en su lugar.

Para resumir: la idea de que el botón Atrás se remonta a la "pantalla" anterior, no se garantiza en absoluto. El botón de espalda dura se ocupa de las actividades solo , que a menudo son las pantallas "al usuario, pero no son necesariamente, y no se requiere de ninguna manera. No hay concepto de "Regresar una Pantalla ", a menos que la aplicación que esté usando dice que hay, pero aún no se garantiza que la funcionalidad sea proporcionada por el botón ATRÁS.

Lectura adicional:

  • Diseño de actividad y tarea
  • Documentación de actividades
 

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 una aplicación no lo lleva a la pantalla anterior cuando llegue a la llamada, no hay nada que usted o Android puedan hacer al respecto. Podría pedirle al desarrollador de la aplicación que lo implementara, pero eso es todo.

 

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.

 
 

Relacionados problema

2  La pantalla de visualización se restablece a 15 segundos ocasionalmente  ( Display timout resets to 15 seconds occasionally ) 
Hola en mi SGT La pantalla de visualización se restablece a 15 segundos ocasionalmente. No puedo reproducir este comportamiento, pero parece que este restable...

3  Software de Android o Dispositivo para presentar la solicitud en la pantalla  ( Android software or device to present application on screen ) 
Bueno, esto es algo que me vino a mi mente, ¿alguien sabe si hay un dispositivo o un cable que puedo enchufar a un Datos de datos, por lo que es posible prese...

5  Deshabilitar el modo de espera de visualización cuando falta el modo de desarrollador en Android 2.3  ( Disable display standby when in developer mode missing in android 2 3 ) 
Estoy un poco confundido con la opción que falta para desactivar el modo de espera de visualización en el modo de desarrollador. En 2.2 hubo un interruptor ...

2  Acceda a un Android puramente a través de VNC habilitando las resoluciones de tabletas  ( Access an android purely via vnc enabling tablet resolutions ) 
Actualmente puedo acceder a mi Android a través de VNC en mi iPad. ¿Puedo configurar la resolución de pantalla de Android para que sea la misma que la resoluc...

9  ¿Dena automáticamente la pantalla en tiempos específicos?  ( Automatically dim screen at specific times ) 
Despertarse por la mañana a una pantalla muy brillante no es divertido. Prefiero que la pantalla sea atenuada en mi dormitorio oscuro cuando me levante. Si bi...

1  ¿Cómo resistente a los rasguños es la pantalla del Samsung Galaxy S 2? [cerrado]  ( How scratch resistant is the screen of the samsung galaxy s 2 ) 
cerrado . Esta pregunta es basada en opinión . Actualmente no está aceptando respuestas. ¿...

2  ¿Cómo puedo recuperar datos de un EPIC 4G sin una pantalla de trabajo?  ( How can i retrieve data from an epic 4g without a working screen ) 
Mi epopeya 4G me sirvió bien durante 10 meses antes de que la pantalla se extendiera sobre mí. Sin embargo, compré uno nuevo y me gustaría transferir datos de...

8  Evitando el drenaje del poder  ( Avoiding power drain ) 
Acabo de recibir un Samsung su fin de semana y me he dado cuenta de que el drenaje de potencia más grande de la batería es de la pantalla. Estoy ciego, así qu...

0  La pantalla se apaga tan pronto dialo o recibo una llamada. CyanogenMod 7.1- estable  ( Screen goes off as soon i dial or receive a call cyanogenmod 7 1 stable ) 
En estable Mod 7.1, estoy enfrentando a estos problemas. No sé si es un error o qué, por favor, ayúdame. Mi pantalla se apaga tan pronto, dialo o recibo un...

1  Lista de dispositivos con parámetros de pantalla [duplicado]  ( List of devices with screen parameters ) 
Esta pregunta ya tiene respuestas aquí : cerrado 8 años . posible duplicado: ¿Dónde puedo ...

8  ¿Android pone WiFi y otras redes de datos para dormir cuando se apaga la pantalla?  ( Does android put wifi and other data networks to sleep when the display is turne ) 
Me preguntaba si Android Stock pone WiFi y otras redes de datos para dormir cuando se apaga la pantalla del dispositivo. Si no, ¿qué aplicación puede ayudarme...

2  Brillo de la pantalla demasiado alto en modo automático cuando está en la habitación oscura  ( Screen brightness too high on auto mode when in the dark room ) 
Un HTC Desire S basado en Android se establece en el modo de visualización "Auto Brillo". El brillo se ajusta bien a menos que el dispositivo en una habitació...

4  Limpiando la pantalla de una tableta de forma segura  ( Cleaning the screen of a tablet safely ) 
Mi hijo de 4 años ama mi transformador ASUS EEE, y le gustan los juegos y las cosas. Pero él tiene un resfriado, y la pantalla es literalmente bruta. ¿Qué s...

0  ¿Los botones delanteros en el droid X encienden la pantalla?  ( Do the front buttons on the droid x turn on the screen ) 
Tuve un teléfono LG Optimus V y los botones físicos en la parte delantera podrían presionar cuando estaba en mi bolsillo, lo que encendería la pantalla. Est...

3  ¿Cómo puedo regresar del modo de ahorro de energía en Android 2.3?  ( How can i return from power saving mode in android 2 3 ) 
Estoy usando un EPIC de Samsung Galaxy S II (con la versión Android 2.3.6 instalada), y siempre que mi teléfono alcance el 10% de la duración de la batería, m...

4  ¿Cómo prevenir la pestaña Samsung 10.1 de la pantalla de giro en sí misma?  ( How to prevent samsung tab 10 1 from turning display on by itself ) 
Acabo de comprar esta Galaxy Tab 10.1 con Android 3.2 y mientras me encanta, una cosa me impulsa nueces: cada vez que apague la pantalla usando el botón de en...

0  Tamaño de la pantalla y densidad de Samsung Galaxy Y  ( Screen size and density of samsung galaxy y ) 
Quiero saber sobre el tamaño y la densidad de la pantalla del Samsung Galaxy y . ¿Qué categoría de tamaño de pantalla (pequeña, normal, grande, x-grande) o d...

1  Galaxy Nexus Pantalla parpadea y problemas de brillo en varios toques de botones y pantallas  ( Galaxy nexus screen flashes and brightness issues on various button taps and scr ) 
Mientras usa mi galaxia Nexus en la noche en la oscuridad, comencé a experimentar problemas donde la pantalla parpadeaba por un momento a lo que se sentía com...

3  ¿Cómo evitar la carga de la interrupción cuando la pantalla está apagada?  ( How to prevent uploading from interrupting when screen is off ) 
Cuando se apaga la pantalla, las cargas se interrumpen, especialmente las cargas de YouTube y cada vez que tengo que reanudar el teléfono para continuar las c...

5  ¿Cuál es mi densidad LCD?  ( What is my lcd density ) 
¿Cómo puedo averiguar cuál es la densidad de la pantalla LCD de mi tableta? es un sitio barato sin sitio oficial ... ¿Hay alguna opción de configuración q...

Relacionados problema

2  La pantalla de visualización se restablece a 15 segundos ocasionalmente 
3  Software de Android o Dispositivo para presentar la solicitud en la pantalla 
5  Deshabilitar el modo de espera de visualización cuando falta el modo de desarrollador en Android 2.3 
2  Acceda a un Android puramente a través de VNC habilitando las resoluciones de tabletas 
9  ¿Dena automáticamente la pantalla en tiempos específicos? 
1  ¿Cómo resistente a los rasguños es la pantalla del Samsung Galaxy S 2? [cerrado] 
2  ¿Cómo puedo recuperar datos de un EPIC 4G sin una pantalla de trabajo? 
8  Evitando el drenaje del poder 
0  La pantalla se apaga tan pronto dialo o recibo una llamada. CyanogenMod 7.1- estable 
1  Lista de dispositivos con parámetros de pantalla [duplicado] 
8  ¿Android pone WiFi y otras redes de datos para dormir cuando se apaga la pantalla? 
2  Brillo de la pantalla demasiado alto en modo automático cuando está en la habitación oscura 
4  Limpiando la pantalla de una tableta de forma segura 
0  ¿Los botones delanteros en el droid X encienden la pantalla? 
3  ¿Cómo puedo regresar del modo de ahorro de energía en Android 2.3? 
4  ¿Cómo prevenir la pestaña Samsung 10.1 de la pantalla de giro en sí misma? 
0  Tamaño de la pantalla y densidad de Samsung Galaxy Y 
1  Galaxy Nexus Pantalla parpadea y problemas de brillo en varios toques de botones y pantallas 
3  ¿Cómo evitar la carga de la interrupción cuando la pantalla está apagada? 
5  ¿Cuál es mi densidad LCD? 



© 2021 respuesta.top Reservados todos los derechos. Centro de preguntas y respuestas reservados todos los derechos


Licensed under cc by-sa 3.0 with attribution required.