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

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

另外怎么在随笔中添加代码段呢?

原文地址:https://www.cnblogs.com/zhangxiaoshuai/p/4532371.html