titulo studio regresar cambiar anterior activity android android-intent android-activity

studio - Android: volver a la actividad anterior



cambiar titulo de layout android (23)

¿Quieres tomar el control del comportamiento del botón Atrás? Puede anular el botón Atrás (para ir a una actividad específica) a través de uno de los dos métodos.

Para Android 1.6 y anteriores:

@Override public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) { // do something on back. return true; } return super.onKeyDown(keyCode, event); }

O si solo es compatible con Android 2.0 o superior:

@Override public void onBackPressed() { // do something on back. return; }

Para más detalles: http://android-developers.blogspot.com/2009/12/back-and-other-hard-keys-three-stories.html

Quiero hacer algo simple en la aplicación de Android. ¿Cómo es posible volver a una actividad previa?

¿Qué código necesito para volver a la actividad anterior?


Además de todas las respuestas mencionadas, todavía hay una forma alternativa de hacerlo, digamos que tiene dos clases, clase A y clase B.

Clase A: ha realizado algunas actividades, como la casilla de verificación, imprimió algunos datos e intención a la clase B. Clase B, le gustaría pasar varios valores a la clase A y mantener el estado anterior de la clase A, puede usar, pruebe esta alternativa Método o código fuente de descarga para demostrar esto

http://whats-online.info/science-and-tutorials/125/Android-maintain-the-previous-state-of-activity-on-intent/

o

http://developer.android.com/reference/android/content/Intent.html


Agregue esto en su método onCLick (), volverá a su actividad anterior

terminar();

o puedes usar esto Funcionó perfectamente para mí

@Override public boolean onOptionsItemSelected(MenuItem item) { int id = item.getItemId(); if ( id == android.R.id.home ) { finish(); return true; } return super.onOptionsItemSelected(item); }


Comience la segunda actividad con la intención (use startActivity o startActivityForResult acuerdo con sus requisitos). Ahora, cuando el usuario presione el botón Atrás, la actividad actual en la parte superior se cerrará y se mostrará la anterior.

Ahora digamos que tiene dos actividades, una para seleccionar algunas configuraciones para el usuario, como idioma, país, etc., y después de seleccionarla, el usuario hace clic en el botón Siguiente para ir al formulario de inicio de sesión (por ejemplo). Ahora, si el inicio de sesión no tiene éxito, entonces el usuario estará en la actividad de inicio de sesión, ¿qué sucede si el inicio de sesión se realiza correctamente?

Si el inicio de sesión es exitoso, entonces debe iniciar otra actividad. Esto significa que se iniciará una tercera actividad, y aún hay dos actividades en ejecución. En este caso, será bueno usar startActivityForResult . Cuando el inicio de sesión sea exitoso, envíe los datos de OK a la primera actividad y cierre la actividad de inicio de sesión. Ahora, cuando se reciben los datos, inicie la tercera actividad y cierre la primera actividad utilizando Finalizar.


Hay pocos casos para volver a su actividad anterior:

Caso 1: si desea recuperar los resultados de su actividad anterior, haga clic en ActivityA.java.

Intent intent = new Intent(ActivityA.this, FBHelperActivity.class); startActivityForResult(intent,2);

FBHelperActivity.java

Intent returnIntent = new Intent(); setResult(RESULT_OK, returnIntent); finish();

Caso 2: Actividad A -> FBHelperActivity ----> Actividad A

ActividadA.java

Intent intent = new Intent(ActivityA.this, FBHelperActivity.class); startActivity(intent);

FBHelperActivity.java

after getting of result call finish(); By this way your second activity will finish and because you did not call finish() in your first activity then automatic first activity is in back ground, will visible.


Intente la Activity#finish() . Esto es más o menos lo que hace el botón Atrás por defecto.


Las actividades de Android se almacenan en la pila de actividades. Volver a una actividad previa podría significar dos cosas.

  1. Abriste la nueva actividad de otra actividad con startActivityForResult . En ese caso, puede llamar a la función finishActivity () desde su código y volverá a la actividad anterior.

  2. Lleve un registro de la pila de actividades. Siempre que inicie una nueva actividad con una intención, puede especificar una FLAG_ACTIVITY_REORDER_TO_FRONT intención como FLAG_ACTIVITY_REORDER_TO_FRONT o FLAG_ACTIVITY_PREVIOUS_IS_TOP . Puede usar esto para mezclar entre las actividades en su aplicación. Aunque no los he usado mucho. Eche un vistazo a las banderas aquí: http://developer.android.com/reference/android/content/Intent.html

Como se mencionó en los comentarios, si la actividad se abre con startActivity() entonces se puede cerrar con finish() . Si desea usar el botón Arriba, puede capturarlo en el onOptionsSelected(MenuItem item) al verificar la identificación del elemento con android.R.id.home diferencia de R.id.home como se menciona en los comentarios.



Puedes probar esto:

@Override public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) { finish(); return true; } return super.onKeyDown(keyCode, event); }


Sólo esta

super.onBackPressed();


Si ha configurado correctamente el archivo AndroidManifest.xml con la actividad principal, puede usar:

NavUtils.navigateUpFromSameTask(this);

Donde esta es tu actividad infantil.


Si quieres ir solo quieres ir a la actividad anterior.

finish();

O

onBackPressed();

Si quieres ir a una segunda actividad o por debajo de eso utiliza los siguientes:

intent = new Intent(MyFourthActivity.this , MySecondActivity.class); intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); //Bundle is optional Bundle bundle = new Bundle(); bundle.putString("MyValue1", val1); intent.putExtras(bundle); //end Bundle startActivity(intent);


Simplemente llame a este método para finalizar la actividad actual o para regresar en onBackPressed

finish();

O

onBackPressed();


Solo escribe en click final () . Te llevará a la Actividad anterior.


Solo prueba esto, primera actividad

Intent mainIntent = new Intent(Activity1.this, Activity2.class); this.startActivity(mainIntent);

En tu segunda actividad

@Override public void onBackPressed() { this.finish(); }


Sugiero que NavUtils.navigateUpFromSameTask (), es fácil y muy simple, puedes aprenderlo del desarrollador de google. ¡Desearía poder ayudarte!


Tiene el mismo problema y

finish(); OR super.onBackPressed();

funcionó bien para mí, ambos trabajaron igual, pero no hubo suerte con el return


Todas las nuevas actividades / intentos por defecto tienen un comportamiento anterior / anterior, a menos que haya codificado un finish() en la actividad de llamada.


Intenta esto es actuar como tienes que presionar el botón Atrás

finish(); onBackPressed();


@Override public boolean onOptionsItemSelected(MenuItem item) { int id = item.getItemId(); if ( id == android.R.id.home ) { finish(); return true; } return super.onOptionsItemSelected(item); }

Intenta esto, funciona tanto en el botón Atrás de la barra de herramientas como en el botón Atrás de hardware .


@Override public void onBackPressed() { super.onBackPressed(); }

y si desea hacer clic en el botón volver atrás, simplemente coloque

bbsubmit.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { onBackPressed(); } });


From your FirstActivity call the SecondActivity using startActivityForResult() method For example: Intent i = new Intent(this, SecondActivity.class); startActivityForResult(i, 1); In your SecondActivity set the data which you want to return back to FirstActivity. If you don''t want to return back, don''t set any. For example: In secondActivity if you want to send back data: Intent returnIntent = new Intent(); returnIntent.putExtra("result",result); setResult(Activity.RESULT_OK,returnIntent); finish(); If you don''t want to return data: Intent returnIntent = new Intent(); setResult(Activity.RESULT_CANCELED, returnIntent); finish(); Now in your FirstActivity class write following code for the onActivityResult() method. @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { if (requestCode == 1) { if(resultCode == Activity.RESULT_OK){ String result=data.getStringExtra("result"); } if (resultCode == Activity.RESULT_CANCELED) { //Write your code if there''s no result } } }//onActivityResult


intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);

Esto te llevará a una actividad previa manteniendo su pila y borrando todas las actividades posteriores a la pila.

Por ejemplo, si la pila era A-> B-> C-> D e inicia B con este indicador, la pila será A-> B