Sending arrays with Intent.putExtra
146,664
Solution 1
You are setting the extra with an array. You are then trying to get a single int.
Your code should be:
int[] arrayB = extras.getIntArray("numbers");
Solution 2
This code sends array of integer values
Initialize array List
List<Integer> test = new ArrayList<Integer>();
Add values to array List
test.add(1);
test.add(2);
test.add(3);
Intent intent=new Intent(this, targetActivty.class);
Send the array list values to target activity
intent.putIntegerArrayListExtra("test", (ArrayList<Integer>) test);
startActivity(intent);
here you get values on targetActivty
Intent intent=getIntent();
ArrayList<String> test = intent.getStringArrayListExtra("test");
Author by
Kitinz
Updated on June 19, 2020Comments
-
Kitinz almost 4 years
I have an array of integers in the activity A:
int array[] = {1,2,3};
And I want to send that variable to the activity B, so I create a new intent and use the putExtra method:
Intent i = new Intent(A.this, B.class); i.putExtra("numbers", array); startActivity(i);
In the activity B I get the info:
Bundle extras = getIntent().getExtras(); int arrayB = extras.getInt("numbers");
But this is not really sending the array, I just get the value '0' on the arrayB. I've been looking for some examples but I didn't found anything so.
-
Kitinz over 13 yearsOuch! I was focused on the putExtra and getExtras syntax that i didnt realize the misstake was so obvious :D Thank you!
-
paladiya chirag over 11 yearsi think you'll get to know after seeing this code that where u have done the mistake......:)
-
Adnan over 8 years@Kitinz +1 for to be very nice on community ... I liked that :)