Cómo reiniciar la actividad en Android

Resuelto asked hace 54 años • 0 respuestas

¿Cómo reinicio un Android Activity? Intenté lo siguiente, pero Activitysimplemente se cierra.

public static void restartActivity(Activity act){

        Intent intent=new Intent();
        intent.setClass(act, act.getClass());
        act.startActivity(intent);
        act.finish();

}
 avatar Jan 01 '70 08:01
Aceptado

Hice mi selector de temas así:

Intent intent = getIntent();
finish();
startActivity(intent);

Básicamente, llamo finish()primero y uso exactamente la misma intención con la que comenzó esta actividad. ¿Eso parece funcionar?

ACTUALIZACIÓN: Como señala Ralf a continuación, Activity.recreate()este es el camino a seguir en API 11 y más allá. Esto es preferible si estás en un entorno API11+. Aún puedes verificar la versión actual y llamar al fragmento de código anterior si estás en API 10 o inferior. (¡No olvides votar a favor de la respuesta de Ralf!)

EboMike avatar Oct 20 '2010 04:10 EboMike

Desde el nivel API 11 (Honeycomb), puedes llamar al método recreate() de la actividad (gracias a esta respuesta).

El método recreate() actúa como un cambio de configuración, por lo que también se llaman los métodos onSaveInstanceState() y onRestoreInstanceState(), si corresponde.

Ralf avatar May 04 '2012 17:05 Ralf