android 传递自定义参数
Serializable 的意思是“可序列化”
如果有个Class B 而且它没有implements Serializable。启动序列化处理Class B, 系统将会甩出NotSerializableException异常。
当我们想在不同Activity传递自己的类的时候,可以使用这种方法:
Intent intent = new Intent();
Bundle bundle = new Bundle();
bundle.putSerializable("user", user);
intent.putExtras(bundle);
而这个user类就必须要implements Serializable,才能再putSerializable时顺利通过编译
开始的activity:
1 Waybill waybill = (Waybill) ((ViewGroup)view.getParent()).getTag(); 2 Intent intent = new Intent(); 3 Bundle bundle = new Bundle(); 4 bundle.putSerializable("waybill", waybill); 5 intent.putExtras(bundle); 6 intent.setClass(WaybillManagerActivity.this, LogisticsInfoActivity.class); 7 startActivity(intent);
调用的acivity
Intent intent = getIntent(); Bundle bundle = intent.getExtras(); Waybill waybill = (Waybill) bundle.getSerializable("waybill");
另外:
对于waybill中的每一个成员,都必须是 implements Serializable 否则也不能通过编译
Waybill { Org org;// Org 需要implements serializable long id; }