Cerrar Fragment y Activity de Android de manera programada

Publicado por parzibyte en

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.

Cerrar actividad o Activity

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.

Cerrar un Fragment en Android

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.


parzibyte

He trabajado por más de 4 años en el desarrollo de software con experiencia en Java, PHP, JavaScript, HTML, Node.JS, Python, Android y Go. También he trabajado con bases de datos SQL como MySQL y SQLite, así como con bases de datos NoSQL usando MongoDB.Soy bueno utilizando algunos frameworks y herramientas como Firebase, jQuery, AngularJS, VueJS, CodeIgniter, Laravel, BulmaCSS, Bootstrap y Electron.Otros términos que conozco son: Arduino, GraphQL, API's, REST, AJAX, PouchDB, CouchDB, Experiencia de usuario, buenas prácticas de programación, Webpack, NPM, Administración de servidores y programación de scriptsLa plataforma en la que tengo más experiencia es la web, pero en mis ratos libres realizo unos pequeños ejercicios en C# y C.Estoy aquí para ayudarte a resolver tus problemas de programación y depuración :-)

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

A %d blogueros les gusta esto: