android intent 传递 list<object>
android 中 intent 如何传递arraylist<object>?hashmap
intent可以传递 list<int> 、list<string>等等,但我没找到有object。所以也没list<map<String,object>>类型,
在此可以这样
intent intent = new intent();
intent.putExtra("list",new ArrayList<HashMap<String,String>());
Intent intent = getIntent();
ArrayList<HashMap<String,String>> list = (ArrayList<HashMap<String,String>>)intent.getSerializableExtra("list");
System.out.println("arraylist title:"+list.get(0).get("title"));
但这样做会出现警告
Type safety: Unchecked cast from Serializable to ArrayList<HashMap<String,String>>
未找到解决办法,虽然只是警告,但对有强迫症的我来说很不舒服。于是乎
加入一个中转类
public class TestList implements Serializable{
private static final long serialVersionUID = 1L;
private ArrayList<HashMap<String,String>> list;
public TestList(ArrayList<HashMap<String,String>> list){
this.list = list;
}
public ArrayList<HashMap<String, String>> getList() {
return list;
}
}
执行类
传入
intent.putExtra("testlist", new TestList(list));
获取
TestList tl = (TestList)intent.getSerializableExtra("testlist");
ArrayList<HashMap<String,String>> list = tl.getList();
就这样,如果哪位道友有什么别的好的方法,欢迎指正,毕竟我这算是个投机取巧的方法。
另外怎么在随笔中添加代码段呢?
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。