Saltar al contenido

Cómo cerrar la actividad y volver a la actividad anterior en Android

Solución:

Creo que estas llamando finish() método en MainActivity antes de empezar SettingsActivity.

El escenario que ha descrito ocurrirá de dos maneras siguientes:

CUALQUIERA

Ha establecido android:noHistory = "true" por MainActivity dentro AndroidManifest.xml cuales causas MainActivity para finish automáticamente al presionar la tecla Atrás.

O

Antes de cambiar a su ‘SettingsActivity’, ha llamado finish() en tus MainActivity, que lo mata. Cuando presiona el botón Atrás, dado que ninguna otra actividad está preestablecida en la pila para aparecer, vuelve a la pantalla principal.

Puede volver a la actividad anterior simplemente llamando a finish () en la actividad en la que se encuentra. Tenga en cuenta que se ejecutará cualquier código después de la llamada finish (); puede hacer una devolución después de llamar a finish () para solucionar este problema.

Si desea devolver los resultados a la actividad uno, al iniciar la actividad dos, necesita:

startActivityForResults(myIntent, MY_REQUEST_CODE);

Dentro de su actividad llamada, puede obtener el Intent del parámetro onCreate () o usar

getIntent();

Para establecer devolver un resultado a la actividad uno, luego en la actividad dos hacer

setResult(Activity.RESULT_OK, MyIntentToReturn);

Si no tiene intención de regresar, solo diga

setResult(Activity.RESULT_OK);

Si la actividad tiene malos resultados, puede usar Activity.RESULT_CANCELED (esto se usa por defecto). Luego, en la actividad uno lo haces

onActivityResult(int requestCode, int resultCode, Intent data) {
    // Handle the logic for the requestCode, resultCode and data returned...
}

Para finalizar la actividad dos, use los mismos métodos con finish () como se describió anteriormente con sus resultados ya establecidos.

Cuando hace clic en su botón, puede hacer que llame a:

super.onBackPressed();
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

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