15

How i can pass Array List from one Activity to another my array list is shown as follows

ArrayList<HashMap<String, String>>
BenMorel
  • 34,448
  • 50
  • 182
  • 322
sandy
  • 3,311
  • 4
  • 36
  • 47

4 Answers4

42

Use putExtra(String, Serializable) to pass the value in an Intent and getSerializableExtra(String) method to retrieve the data.

Passing an ArrayList<HashMap<String, String>> from Activity A to Activity B

Intent intent = new Intent(this, B.class);
HashMap<String, String> hm = new HashMap<String, String>();
hm.put("sunil", "sahoo");
ArrayList<HashMap<String, String>> arl = new ArrayList<HashMap<String, String>>();
arl.add(hm);
intent.putExtra("arraylist", arl);
startActivityForResult(intent, 500);

Retrieve the data in Activity B

ArrayList<HashMap<String, String>> arl = (ArrayList<HashMap<String, String>>) getIntent().getSerializableExtra("arraylist");
System.out.println("...serialized data.."+arl);
Sam
  • 86,580
  • 20
  • 181
  • 179
Sunil Kumar Sahoo
  • 53,011
  • 55
  • 178
  • 243
4

You can use a Bundle to pass elements from one Activity to another.

Check this out: http://developer.android.com/reference/android/os/Bundle.html

You create the Bundle, put it into the Intent, and then on the new activity, you get it and extract the elements you need.

It goes like this:

Bundle b = new Bundle();
String s = "hello";
b.putString("example", s);
intent.putExtras(b);

and then on the new activity:

Bundle b = this.getIntent().getExtras(); 
String s = b.getString("example");
seth
  • 1,401
  • 1
  • 17
  • 28
  • 1
    rather he can use intent.putStringArrayList("name",value),, but he has Hashmap objects stored in it.. not String... – ngesh Jun 15 '11 at 09:50
1

here is another technique, I used following line to define ArrayList in firstClass.

static ArrayList al=new ArrayList();

In second activity, i used following line to get the data of ArrayList from firstClass,

firstClass.al.size();
user609239
  • 3,356
  • 5
  • 25
  • 26
  • He can certainly do that, but usually it is not a good idea to make something static just because you need it somewhere else. – seth Jun 16 '11 at 09:39
  • If static is not a good idea, then why java programing language contains "static" keyword. – user609239 Jun 16 '11 at 10:52
0

my idea, you can define a global static variable for this data set on the package and save it first before jump to another activity.

cmh
  • 271
  • 1
  • 4
  • 17