您的位置:首页 > 移动开发 > Objective-C

android intent 传递 list<object>

2015-05-27 07:13 609 查看

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();

就这样,如果哪位道友有什么别的好的方法,欢迎指正,毕竟我这算是个投机取巧的方法。

另外怎么在随笔中添加代码段呢?
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: