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 este post te quiero compartir un código de C++ para listar y cancelar trabajos…
Gracias a WebAssembly podemos ejecutar código de otros lenguajes de programación desde el navegador web…
Revisando y buscando maneras de imprimir un PDF desde la línea de comandos me encontré…
Esta semana estuve recreando la API del plugin para impresoras térmicas en Android (HTTP a…
Hoy te enseñaré a extraer la cadena base64 de una clave PEM usando una función…
Encender un foco con un Bot de Telegram es posible usando una tarjeta como la…
Esta web usa cookies.
Ver comentarios
para salir de la actividad desde un fragment con viewPager y tabLayuot
solo bastaria probar con getActivity().finish();