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.
Ya te enseñé cómo convertir una aplicación web de Vue 3 en una PWA. Al…
En este artículo voy a documentar la arquitectura que yo utilizo al trabajar con WebAssembly…
En un artículo anterior te enseñé a crear un PWA. Al final, cualquier aplicación que…
Al usar Comlink para trabajar con los workers usando JavaScript me han aparecido algunos errores…
En este artículo te voy a enseñar cómo usar un "top level await" esperando a…
Ayer estaba editando unos archivos que son servidos con el servidor Apache y al visitarlos…
Esta web usa cookies.
Ver comentarios
para salir de la actividad desde un fragment con viewPager y tabLayuot
solo bastaria probar con getActivity().finish();