Android使用Intent传值注意(传递Bean对象)

1、使用Intent或者Intent结合Bundle传递Bean,并且bean对象一定要进行序列化实现Serializable或者Parcelable

1)、封装好的方法
使用Intent
public static void startAction(Context context, PointDetailData.ResultBean.DataBean dataBean) {
        Intent intent = new Intent(context, UndistributedMachineActivity.class);
        intent.putExtra("dataBean", dataBean);
        context.startActivity(intent);
    }

使用Intent结合Bundle
 public static void startAction(Context context, PointDetailData.ResultBean.DataBean dataBean) {
        Intent intent = new Intent(context, UndistributedMachineActivity.class);
        Bundle bundle = new Bundle();
        bundle.putSerializable("dataBean", dataBean);
        intent.putExtras(bundle);
        context.startActivity(intent);
    }

2、取值(坑坑坑切记不要使用new Intent().getIntent.getSerializableExtra("dataBean"))

private PointDetailData.ResultBean.DataBean dataBean;//定义属性
dataBean = (PointDetailData.ResultBean.DataBean) getIntent().getSerializableExtra("dataBean");

 

你可能感兴趣的:(Android)