¿Cómo ir a la actividad anterior con setResult?
Frecuentes
Visto 3,137 equipos
1
Tengo que ir a la actividad principal cuando se hace clic en cualquier elemento de la lista, con setResult.
list.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
Log.d("gaurav", "list is clicked");
moveToEvent();
}
});
Mi método moveToEvent es:
public void moveToEvent() {
Log.d("gaurav", "Move to evnet");
Intent intent = new Intent();
this.setResult(5, intent);
// this.startActivity(intent);
this.finish();
}
Con este código, puedo volver a la actividad de los padres dos o tres veces. Después de eso, no vuelve a la actividad de los padres y actualiza su propia actividad. No soy capaz de encontrar su solución. Amablemente ayúdame en este problema
También probé el método onBackPressed pero el mismo resultado.
@Override
public void onBackPressed() {
// TODO Auto-generated method
Intent intent = new Intent();
setResult(5, intent);
finish();
super.onBackPressed();
}
Amablemente sugiérame dónde estoy cometiendo un error.
2 Respuestas
3
Tienes que iniciar tu ParentActivity con
Intent i = new Intent(SignUpActivity.this, UploadImage.class);
startActivityForResult(i, 1);
Y luego escribe esto en tu ParentActivity
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// TODO Auto-generated method stub
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == 1) {
//your code
} else {
}
}
Y luego en tu segunda actividad escribe esto
Intent returnIntent = new Intent();
setResult(RESULT_OK, returnIntent);
finish();
Respondido 31 Jul 12, 13:07
gaurav dice que la actividad en sí no se está terminando, ¿su cade es útil para lo mismo? - daud arfin
0
Usé esto para resolver mi problema. Este código estará en la actividad principal.
Intent intent = new Intent(AddEvent.this, AddVenue.class);
intent.setFlags(intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivityForResult(intent, 222);
((Activity) AddEvent.this).overridePendingTransition(0, 0);
Esta es la línea clave para resolver este problema.
intent.setFlags(intent.FLAG_ACTIVITY_CLEAR_TOP);
Respondido 31 Jul 12, 13:07
No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas android android-intent or haz tu propia pregunta.
¿Qué significa que pasa un tiempo y luego deja de funcionar? ¿Significa que la actividad no está terminando? Has depurado?? finish() está siendo llamado todo el tiempo ?? - Daud Arfin
prueba este aquí Prueba esta tutoriales para una explicación profunda ¡Espero que ayude nJoy! - moDev
En mi código se menciona el final, este bloque de código se ejecuta cada vez. ¿Qué puede ser problema en esto? ¿Debo publicar el método onActivityForResult de la actividad principal? - Gaurav Gupta
borre su actividad de pila usando addflag en Intent, podría ayudar. Me gusta esto mIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); - moDev
Vaya, gracias Mitesh Agarwal, funciona para mí. Gracias por salvarme el día. :) - Gaurav Gupta