Bundle传输数据之携带集合对象

众所周知,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;
    }
}

以上就是具体操作!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值