Umesh muestra una buena técnica, pero creo que quieres la dirección opuesta.
Paso 1
Al iniciar Actividad 2 y 3, utilice startActivityForResult
. Esto le permite manejar el resultado en la actividad de llamada.
startActivityForResult(MY_REQUEST_ID);
Paso 2
en las actividades 2 y 3, llame setResult(int, Intent)
para devolver un valor:
Intent resultData = new Intent();
resultData.putExtra("valueName", "valueData");
setResult(Activity.RESULT_OK, resultData);
finish();
Paso 3
En su activty vocación, implementar onActivityResult
y obtenga los datos:
protected void onActivityResult(int requestCode, int resultCode,
Intent data) {
if (requestCode == MY_REQUEST_ID) {
if (resultCode == RESULT_OK) {
String myValue = data.getStringExtra("valueName");
// use 'myValue' return value here
}
}
}
Editar:
Técnica # 2
Sí, también puede utilizar el estado de aplicación mundial mediante la adición de una clase a la aplicación que se extiende Application
, vea este stackoverflow answer
[este enlace para otra forma de pasar la actividad de datos3 a activity1] (http://stackoverflow.com/a/42268095/7399521) –