Al transferir datos entre actividades, puede ser necesario pasar estructuras de datos complejas, como matrices. Este artículo explora cómo enviar efectivamente una matriz de números enteros de una actividad (A) a otra (B) usando Intent.putExtra().
Problema:
En actividad A, se inicializa una matriz de números enteros y se pretende enviarla a la actividad B. Sin embargo, al recibir los datos en la actividad B, solo se recupera el valor '0' en lugar de la matriz esperada. valores.
Solución:
El problema radica en la discrepancia del tipo de datos al configurar y recuperar el extra. En el código proporcionado:
Al enviar los datos, se utiliza el método putExtra() con un argumento de matriz:
i.putExtra("numbers", array);
Al recibir los datos, el método getExtras() intenta recuperar los datos como un solo entero:
int arrayB = extras.getInt("numbers");
El enfoque correcto es recibir los datos como una matriz utilizando getIntArray método () en su lugar:
int[] arrayB = extras.getIntArray("numbers");
Usando getIntArray(), los datos recibidos se pueden almacenar exitosamente en una matriz de enteros.
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3