一、传递基本类型数据
这个比较简单,Intent都有提供相应的接口方法,直接调用即可。
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiIyVGduV2QvwVe0lmdhJ3ZvwFM38CXlZHbvN3cpR2Lc1TPB10QGtWUCpEMJ9CXsxWam9CXwADNvwVZ6l2c052bm9CXUJDT1wkNhVzLcRnbvZ2Lc1zaHplZsNTYxgXbZZXUYpVd1kmYr50MZV3YyI2cKJDT29GRjBjUIF2LcRHelR3LcJzLctmch1mclRXY39jNykzMygDN0EDOyITM3EDMy8CX0Vmbu4GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.jpg)
二、传递对象(主要是实现对象序列化)
如果想要传递对象的话,一般情况下就两种方法,Serializable方式,Parcelable方式。
http://blog.csdn.net/wei_lei/article/details/50515093
三、传递Map和ArrayList
1.ArrayList的话有直接的接口方法可以调用
发送 intent.putStringArrayListListExtra(String name,ArrayList<String>value);不过这个方法指定了类型只能是String.
不过上面讲到了如何传递对象,那么只要将实例对象进行序列化,再把整个ArrayList进行传递就可以了。
intent.putExtra("name",arrayList);
getIntent.getSerializableExtra("name");
2.HashMap传递
原理也是定义一个类实现序列化
public class SerMap implements Serializable {
public HashMap<Integer,Bean> map;
public SerMap(){
}
public HashMap<Integer, Bean> getMap() {
return map;
}
public void setMap(HashMap<Integer, Bean> map) {
this.map = map;
}
}
将需要传递的map,通过setMap()方法传入,最后再将SerMap对象发送出去
SerMap serMap=new SerMap();
//传递map到SerMap 中的map,这样数据就会传递到SerMap 中的map中。
serMap.setMap(resultMap);
//创建Bundle对象,存放实现可序列化的SerMap
Bundle bundle=new Bundle();
bundle.putSerializable("name",serMap); intent.put(bundle); startActivity(intent);
在需要接收的地方接收数据
Bundle bundle = intent.getExtras();
SerMap serializableMap = (SerMap) bundle
.get("name");
HashMap<Integer,Bean> resultMap = serializableMap.getMap();