Tengo una Location
actividad que se puede llamar desde muchas actividades, como Sign up
y Order
. En la Location
actividad, el usuario ingresa su ubicación, por lo que la actividad Location
devolverá esta nueva ubicación a la actividad que la llamó.
Entonces, cuando la Sign up
actividad llama a la Location
actividad, tiene que devolver los datos a la Sign up
actividad. En otra ocasión la Order
actividad hará lo mismo.
Nota
Sé que me dirás que debo publicar el código, pero no te pido que me des el código; Solo quiero algunos consejos, enlaces o buenos hilos.
android
android-activity
onactivityresult
usuario usuario
fuente
fuente
Respuestas:
Para comenzar una actividad que debería devolver el resultado a la actividad de llamada, debe hacer algo como a continuación. Debe pasar el código de solicitud como se muestra a continuación para identificar que obtuvo el resultado de la actividad que inició.
En la actividad puede utilizar
setData()
para devolver el resultado.Entonces, de nuevo en la primera actividad, escriba el código a continuación en onActivityResult ()
EDITE en función de su comentario: si desea devolver tres cadenas, siga esto haciendo uso de pares clave / valor con intención en lugar de usar Uri.
Obtenga en OnActivityResult como a continuación:
fuente
requestcode
puedo ponerle un número entero?new Intent(this, OtherActivity.class);
puedo usar este código en una Actividad.Si desea finalizar y simplemente agregar un
resultCode
(sin datos), puede llamarsetResult(int resultCode)
antesfinish()
.Por ejemplo:
Luego, en su actividad de llamadas, verifique
resultCode
, para ver si estamos bien.No olvides llamar a la actividad con
startActivityForResult(intent, someCustomRequestCode)
.fuente
Activity.RESULT_OK
es en realidad-1
, en caso de que confunda a alguien. Me acaba de sugerir el uso de lasActivity
constantes