我在数组列表中有哈希值。
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);
这里的信息包含我的哈希表。我怎样才能将这个“信息”对象变成其他类/意图?
谢谢......
答案 0 :(得分:6)
为Serializable
getter
setter
扩展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;
}
}
传递给下一个活动。
List<Hashtable<String, String>> list = new ArrayList<Hashtable<String,String>>();
Custom custom = new Custom();
custom.setList(list);
intent.putExtra("myobj", custom);
在下一个活动中检索
Intent intent = getIntent();
Custom custom = (Custom) intent.getSerializableExtra("myobj");
List<Hashtable<String, String>> list = custom.getList();
答案 1 :(得分:2)
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);
类型的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");
数组:
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);
希望这会对你有所帮助。
答案 2 :(得分:1)
将您的Hashtables转换为Bundles,并使用intent.putExtra()传递Bundles 这是一个例子
Intent i = new Intent(this,yourclass.class);
i.putExtra( “信息”,信息);
你可以在其他意图中获取值
Bundle extra = getIntent()。getExtras();
extra.geStrinf( “信息”);
答案 3 :(得分:0)
将您的Hashtables转换为Bundles,并使用intent.putExtra()传递Bundles