java - studio - Invio di array con Intent.putExtra




second activity in android studio (2)

Ho una matrice di numeri interi nell'attività A:

int array[] = {1,2,3};

E voglio inviare quella variabile all'attività B, quindi creo un nuovo intento e utilizzo il metodo putExtra:

Intent i = new Intent(A.this, B.class);
i.putExtra("numbers", array);
startActivity(i);

Nell'attività BI ottieni le informazioni:

Bundle extras = getIntent().getExtras();
int arrayB = extras.getInt("numbers");

Ma questo non è davvero l'invio dell'array, ho solo il valore '0' sull'array B. Ho cercato alcuni esempi ma non ho trovato nulla di simile.


Questo codice invia una matrice di valori interi

Inizializza elenco matrici

List<Integer> test = new ArrayList<Integer>();

Aggiungi valori all'elenco di array

test.add(1);
test.add(2);
test.add(3);
Intent intent=new Intent(this, targetActivty.class);

Invia i valori dell'elenco di matrice all'attività di destinazione

intent.putIntegerArrayListExtra("test", (ArrayList<Integer>) test);
startActivity(intent);

qui ottieni valori su targetActivty

Intent intent=getIntent();
ArrayList<String> test = intent.getStringArrayListExtra("test");

Stai impostando l'extra con un array. Stai quindi cercando di ottenere un singolo int.

Il tuo codice dovrebbe essere:

int[] arrayB = extras.getIntArray("numbers");




bundle