it-swarm.com.de

Senden von Arrays mit Intent.putExtra

Ich habe eine Reihe von ganzen Zahlen in der Aktivität A:

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

Und ich möchte diese Variable an die Aktivität B senden, also erstelle ich eine neue Absicht und verwende die putExtra-Methode:

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

In der Aktivität B bekomme ich die Info:

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

Aber das ist nicht wirklich das Array senden, ich bekomme nur den Wert "0" auf dem ArrayB. Ich habe nach Beispielen gesucht, aber nichts gefunden.

67
Kitinz

Sie setzen das Extra mit einem Array. Sie versuchen dann, ein einzelnes int zu erhalten.

Ihr Code sollte sein:

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

Dieser Code sendet ein Array mit ganzzahligen Werten

Array-Liste initialisieren

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

Werte zur Array-Liste hinzufügen

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

Senden Sie die Array-Listenwerte an die Zielaktivität

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

hier erhalten Sie Werte für targetActivty

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