Tengo 2 actividades, Actividad1 y Actividad2 .
En Activity1Tengo un botón y TextView . Cuando se hace clic en el botón Actividad2 se inicia .
En Activity2Tengo un EditText .
Quiero mostrar los datos recuperados de EditText en Activity2 en TextView en Activity1 cuando se presiona hacia atrás desde Activity2 .
¿Alguien puede ayudarme con el código para que esto funcione?
android
android-activity
parent-child
pass-data
kumareloaded
fuente
fuente

startActivityForResultActivity2coloca el valor en un almacenamiento persistente y loActivity1lee desde allí.Respuestas:
Inicie Activity2 con
startActivityForResulty use elsetResultmétodo para enviar datos de vuelta desde Activity2 a Activity1. En la Actividad 1, deberá anular laonActivityResultactualizaciónTextViewcon losEditTextdatos de la Actividad 2.Por ejemplo:
En Activity1 , inicie Activity2 como:
En Activity2 , use
setResultpara enviar datos de vuelta:Y en la Actividad 1 , reciba datos con
onActivityResult:Si puede, también use SharedPreferences para compartir datos entre Actividades.
fuente
SharedPreferencesentonces mira este ejemploActividad 1 debería iniciar Activity2 con
startActivityForResult().Actividad2 debería usar
setResult()para enviar datos de vuelta a Activity1 .En Activity2 ,
En Activity1 ,
fuente
Otras respuestas no estaban trabajando cuando pongo
setResultenonBackPressed. Comentar la llamada a superonBackPressedy llamarfinishmanualmente resuelve el problema:Y en primera actividad:
fuente
Tome esto como una alternativa para iniciarActivityforResult. Pero tenga en cuenta que en tales casos este enfoque puede ser costoso en términos de rendimiento, pero en algunos casos es posible que deba usarlo.
En Activity2,
En Activity1,
fuente
Desde su FirstActivity, llame a SecondActivity usando el método startActivityForResult ().
Por ejemplo:
En su SecondActivity, configure los datos que desea devolver a FirstActivity. Si no desea regresar, no configure ninguno.
Por ejemplo: en secondActivity si desea devolver datos:
Si no desea devolver datos:
Ahora en su clase FirstActivity escriba el siguiente código para el método onActivityResult ().
fuente
Esta es tu primera Actividad 1.
Desde aquí, está iniciando su Activity2.class utilizando startActivityForResult (mRequestCode, Activity2.class);
Ahora esta es tu segunda actividad, el nombre es Activity2
Ahora, cuando haya terminado con su segunda Actividad, llame al método setResult (), desde onBackPress () o desde cualquier botón, haga clic cuando su Activity2 destruirá y luego el método de devolución de llamada de su Activity1 onActivityResult () llamará desde allí, puede obtener sus datos por intención ..
Espero que te ayude ... :)
fuente
Lee esto:
Estos artículos lo ayudarán a comprender cómo pasar datos entre dos actividades en Android.
fuente
TL; Uso DR
Activity.startActivityForResultRespuesta larga:
Debería comenzar leyendo la documentación para desarrolladores de Android. Específicamente, el tema de su pregunta está cubierto en la
Starting Activities and Getting Resultssección de laActivitydocumentación.Como por ejemplo, el código, el SDK de Android proporciona buenos ejemplos. Además, otras respuestas aquí le brindan fragmentos breves de código de muestra para usar.
Sin embargo, si está buscando alternativas, lea esta pregunta SO . Esta es una buena discusión sobre cómo usar
startActivityForResultscon fragmentos, así como un par de enfoques para pasar datos entre actividades.fuente
y tengo un problema que quería hacer esto enviando el tipo de datos en un botón programable que había creado y la tecla programable que es la predeterminada en cada dispositivo Android, así que hice esto, primero hice un
Intenten mi "A"Activity:Luego, en mi segunda actividad, he declarado un campo en mi "B"
Activity:luego, después de hacer mi solicitud con éxito o cuando quisiera decirle a la Actividad "A" que este trabajo se realizó con éxito aquí, cambie el valor de resultCode al mismo que dije en "A",
Activityque en mi caso es "60" y luego:PD: Recuerde eliminar el
Supermétodo onBackPressed si desea que esto funcione correctamente.entonces también debería llamar al
onActivityResultMétodo en mi Actividad "A":eso es todo, espero que te ayude. #HappyCoding;
fuente