Reputation: 3416
I have hashtbles in array list.
List<Hashtable<String, String>> info = new ArrayList<Hashtable<String, String>>();
Hashtable<String, String> hm = new Hashtable<String, String>();
// Put elements to the map
hm.put("Read_Flag", s1);
hm.put("sms_received_id", s2);
hm.put("Sender_Id", s3);
hm.put("Sender_Name", s4);
hm.put("Patient_Name", s5);
hm.put("Received_Date", s6);
hm.put("Received_Text", s7);
hm.put("Received_Text_Full", s8);
hm.put("AttachmentFlag", s9);
// Get a set of the entries
Set<?> set = hm.entrySet();
// Get an iterator
Iterator<?> it = set.iterator();
// Display elements
while(it.hasNext()) {
Map.Entry me = (Map.Entry)it.next();
// System.out.print(me.getKey() + ": ");
// System.out.println(me.getValue());
}
//System.out.println(hm);
info.add(hm);
here info contains my hashtables. how can i get this "info" object into other class/intent?
Thank You...
Upvotes: 1
Views: 3624
Reputation: 67286
Create a class that extends Serializable
with getter
setter
for the List<Hashtable<String, String>> list
Custom.java
public class Custom implements Serializable{
private static final long serialVersionUID = 4466821913603037341L;
private List<Hashtable<String, String>> list;
public List<Hashtable<String, String>> getList() {
return list;
}
public void setList(List<Hashtable<String, String>> list) {
this.list = list;
}
}
To pass to next Activity.
List<Hashtable<String, String>> list = new ArrayList<Hashtable<String,String>>();
Custom custom = new Custom();
custom.setList(list);
intent.putExtra("myobj", custom);
To retrieve in next Activity
Intent intent = getIntent();
Custom custom = (Custom) intent.getSerializableExtra("myobj");
List<Hashtable<String, String>> list = custom.getList();
Upvotes: 6
Reputation: 8261
List<Hashtable<String, String>> info = new ArrayList<Hashtable<String, String>>();
String[] selItemArray = new String[info .size()];
//copy your List of Hashtable Strings into the Array ,and then pass it in your intent
// ....
Intent intent = new Intent(InfoClass.this, AnotherClass.class);
intent.putExtra("info_array", selItemArray);
startActivityForResult(intent, 0);
type of arraylist
putIntegerArrayListExtra(String name, ArrayList<Integer> value)
putParcelableArrayListExtra(String name, ArrayList<? extends Parcelable> value)
putStringArrayListExtra(String name, ArrayList<String> value)
putCharSequenceArrayListExtra(String name, ArrayList<CharSequence> value)
Then you can read from you next activity by replacing put with get with key string as argument,eg
myIntent.getStringArrayListExtra("key");
Array :
Bundle b=new Bundle();
b.putStringArray(key, new String[]{value1, value2});
Intent i=new Intent(context, Class);
i.putExtras(b);
In order to read:
Bundle b=this.getIntent().getExtras();
String[] array=b.getStringArray(key);
Hope this will help you.
Refer : Passing a list of objects between Activities
Upvotes: 2
Reputation: 4926
Convert your Hashtables to Bundles, and pass the Bundles using intent.putExtra() here 's the example
Intent i = new Intent(this,yourclass.class);
i.putExtra("info",info);
and you can get the values in other intent
Bundle extra=getIntent().getExtras();
extra.geStrinf("info");
Upvotes: 1
Reputation: 3723
Convert your Hashtables to Bundles, and pass the Bundles using intent.putExtra()
Upvotes: 0