Cómo pasar parámetros entre actividades
Déjame explicarte la transferencia de parámetros entre Actividades con ejemplos.
Supongamos que hay dos actividades, a saber, ActividadA y ActividadB. La ActividadA es responsable de llamar a la ActividadB.
(1) La ActividadA pasa parámetros a la ActividadB
Código de la clase ActividadA:
Código Java
Paquete paquete = nuevo Paquete()
bundle.putInt("id", 120); //Parámetros a pasar, configurados de acuerdo con los requisitos reales
Intent intent = new Intent(this, ActivityB.class)
intent.putExtras(bundle);
//StartActivityForResult se usa aquí, lo que indica que los parámetros de retorno deben recibirse de ActivityB
//Parámetro 3 : Establecido por usted mismo El parámetro representa el número del comportamiento de llamada de ActividadB. Debe usarlo al recibir los parámetros de retorno
startActivityForResult(intent,
(2); ActividadB pasa parámetros a ActividadA
Código de actividadB:
Código Java
//Definir parámetros de retorno
Intent intent = new Intent()
intent.putExtra("result_value", user.getId().intValue();
//Establecer el valor de retorno
//Parámetro 100: autodefinido, que indica el número de devolución
//(Diferentes situaciones pueden tener diferentes números de devolución, lo que permite a la persona que llama realizar un procesamiento diferente en función de diferentes números de devolución)
setResult(100 , intent);
p>//Después de ejecutar finalizar, la ActividadB actual se cerrará y se devolverán los parámetros establecidos anteriormente
finish(); >(3) Uso del código ActivityA para recibir parámetros de devolución:
Código Java
@Override
protected void onActivityResult(int requestCode, int resultCode, datos de intención ) {
int resultValue = 0;
//requestCode: corresponde a 3 en startActivityForResult(intent, 3 en ActivitA
switch(requestCode){
caso 3:
//resultCode: corresponde a 100 en setResult(100, intent en ActivitB
switch(resultCode){
caso 100:
resultValue = data.getIntExtra("result_value", -1
Toast.makeText(this, "valor de retorno[" resultValue "]", Brindis.LENGTH_LONG).s
how();
break;
predeterminado:
Toast.makeText(this, "Valor de retorno de error [" resultCode "]", Toast.LENGTH_LONG) .show();
}
break;
predeterminado:
Toast.makeText(this, "Valor de solicitud de error[" requestCode "]", Toast.LENGTH_LONG).show();
}
}