15

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

ArrayList<HashMap<String, String>>

4 Answers 4

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);
Sign up to request clarification or add additional context in comments.

1 Comment

getSerializableExtra doesn't seem to exist, im using Honeycomb.
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");

1 Comment

rather he can use intent.putStringArrayList("name",value),, but he has Hashmap objects stored in it.. not String...
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();

2 Comments

He can certainly do that, but usually it is not a good idea to make something static just because you need it somewhere else.
If static is not a good idea, then why java programing language contains "static" keyword.
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.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.