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.
En mi blog te he enseñado a usar youtube-dl para descargar vídeos con permiso del…
Siguiendo con los tutoriales que consumen la API de los Bots de Telegram con cURL…
En un post previo te enseñé a enviar un mensaje en nombre de un Bot…
En este artículo te voy a mostrar una guía para imprimir en una impresora térmica…
La impresión de un PDF en cualquier impresora se puede automatizar con un bot de…
Hoy te enseñaré cómo enviar un mensaje a un usuario desde un bot de Telegram…
Esta web usa cookies.
Ver comentarios
para salir de la actividad desde un fragment con viewPager y tabLayuot
solo bastaria probar con getActivity().finish();