Como reiniciar una Activity

Objetivo:

Forzar el reinicio de una Activity en un momento determinado.

En alguna ocasión podemos deseear que una Activity reinicie sus valores, comenzando por ejecutarse por el método onCreate, según el ciclo de vida de una aplicación Android.

Para ello usaremos una función simple  en Java, de forma que la llamaremos en el momento deseado. Sólo tendríamos que colocar una función dentro de nuestra Activity que necesitemos reinciar:

Código fuente java:

[sourcecode language=”java”]
//reinicia una Activity
public static void reiniciarActivity(Activity actividad){
Intent intent=new Intent();
intent.setClass(actividad, actividad.getClass());
//llamamos a la actividad
actividad.startActivity(intent);
//finalizamos la actividad actual
actividad.finish();
}
[/sourcecode]

Y haremos la llamada en el momento que queramos reinciar la Activity:

[sourcecode language=”java”]
//…
reiniciarActivity(this);
//..
[/sourcecode]

4 comentarios en “Como reiniciar una Activity

  1. Buenas Gentleman,
    para reinciar desde un botón, simplemente haz la llamada “reiniciarActivity(this);” dentro de la función que se ejecuta cuando pulsas el botón.

    Por ejemplo, imagina que tenemos el código del ejemplo:
    http://www.tutorialandroid.com/basico/como-programar-mensajes-de-alerta-alert-dialog/
    y deseas reiniciar la activity al pulsar el botón “Mostrar Toast”, pues fijándote en el XML verás que dicho botón tiene android:onClick=”onClicK_Toast”, asi que nos vamos al código Java y dentro de la función “onClicK_Toast” es donde pondremos la línea “reiniciarActivity(this);”
    Un saludo!

  2. Hola man…me parecio muy bueno.Pero tengo un problemilla, tengo mi class activty esta dentro de un class TabActivity , si reinicio mi class activity solo puedo reiniciar desde donde estoy y no lo del TabActivity….graxias por adelantado, si pudieras ayudarme seria exelente …saludos…

Responder a gentleman Cancelar la respuesta

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