Los fragments o fragmentos en Android son distintos a las actividades en muchos sentidos; uno de ellos es el ciclo de vida y la forma de cerrar o finalizar cada cosa.
Voy a explicar en este post cómo cerrar una actividad o Activity, así como cerrar o terminar un Fragment o fragmento usando Java para Android.
Para cerrar una actividad en Android y volver a cualquier cosa que lo haya invocado, o mejor dicho, volver al lugar en donde fue invocada la actividad, llamamos al método finish. Así:
finish();
No necesitas importar nada; eso cerrará la actividad.
Para terminar un fragmento en Android hay que ser más cautelosos, pues un fragmento tiene un ciclo de vida distinto y no debemos matar a la actividad por error.
Hay un truco muy simple: llamar al método onBackPressed
de la actividad. De esta manera es como si el usuario presionara el botón de “back” o volver que todos los dispositivos de Android tienen; cerrando el fragmento pero no la actividad.
La forma de llamarlo es:
getActivity().onBackPressed();
Si quieres evitar excepciones como NullPointerException (cosa que es casi imposible que pase justamente en este escenario) entonces primero define la actividad:
Activity actividad = getActivity();
Comprueba que no sea nula:
if(actividad != null){}
En caso de que no, ahora sí llama al método:
actividad.onBackPressed();
Listo. Con esto terminamos por hoy; recuerda que puedes aprender leer más sobre Android en mi blog.
El día de hoy te mostraré cómo crear un servidor HTTP (servidor web) en Android…
En este post te voy a enseñar a designar una carpeta para imprimir todos los…
En este artículo te voy a enseñar la guía para imprimir en una impresora térmica…
Hoy te voy a mostrar un ejemplo de programación para agregar un módulo de tasa…
Los usuarios del plugin para impresoras térmicas pueden contratar licencias, y en ocasiones me han…
Hoy voy a enseñarte cómo imprimir el € en una impresora térmica. Vamos a ver…
Esta web usa cookies.
Ver comentarios
para salir de la actividad desde un fragment con viewPager y tabLayuot
solo bastaria probar con getActivity().finish();