众所周知,Intent在界面之间的传输,自身是可以携带数据传输的,但是其携带数据传输的大小,是有一定限制的!所以传输比较大的数据时候,可以通过Bundle去传输!
代码如下:
Bundle传输数据
Intent intent = new Intent(this,LandScreenGoodDetailActivity.class);
Bundle bundle = new Bundle();
//需要传递的对象
DataBean dataBean = new DataBean();
//将数据放进要传输的对象中
//items为传递集合对象 items = new ArrayList<OrderDeatailVo>();
dataBean.setData(items);
//将数据放进bundle中
bundle.putSerializable("dataBean",dataBean);
//将数据放进其intent中
intent.putExtral(bundle)
;
startActitity(intent);
Bundle接收数据:
List<OrderDetailVo> mData = new ArrayList<>();
Intent intent = getIntent();
Bundle bundle = intent.getExtras();
DataBean dataBean = (DataBean)bundle.getSerializable("dataBean");
//避免报空指针异常,重新创建了mData,并添加了data
List<OrderDetailVo> data = dataBean.getData();
mData.addAll(data);
DataBean对象并实现序列化
public class DataBean implements Serializable {
private List<OrderDetailVo> data;
public List<OrderDetailVo> getData() {
return data;
}
public void setData(List<OrderDetailVo> data) {
this.data = data;
}
}
以上就是具体操作!