有两种方式来传递Object,分别是让Object实现Serializable接口或Parcelable接口。
(1)使用Serializable方式
用Serializable方式传递Object的语法:bundle.putSerializable(key,object);
用Serializable方式接收Object的语法:object=(Object)getIntent().getSerializable-Extra(key);
这里需要注意Object需要实现Serializable接口,实现Serializable接口就是把对象序列化,然后再传输,和Java的常用编程没什么明显区别,而且Object不需要明显改变,推荐使用这种方式。
首先,Object实现Serializable接口,代码如下:
用Serializable方式传递Object,代码如下:
用Serializable方式接收Object,代码如下:
(2)使用Parcelable方式
用Parcelable方式传递Object的语法:bundle.putParcelable(key,object);
用Parcelable方式接收Object的语法:object=(Object)getIntent().getParcelable-Extra(key);
Parcel是Android提供的一种新的类型,被用作封装数据的容器,封装后的数据可以通过Intent或IPC传递。除了基本类型以外,只有实现了Parcelable接口的类才能被放入Parcel中。(www.daowen.com)
实现Parcelable接口需要实现三个方法:
①writeToParcel方法:该方法将类的数据写入外部提供的Parcel中。
②describeContents方法:直接返回0就可以。
③静态的Parcelable.Creator<T>接口。本接口实现从in中创建出类的实例的功能。
首先,object需要实现Parcelable接口,故重写describeContents()、writeToParcel(Parcel dest,int flags)、newArray(int size)方法,代码如下:
用Parcelable方式传递Object,代码如下:
用Parcelable方式接收Object,代码如下:
(3)传递List<Object>
传递List<Object>的方法:
接收List<Object>的方法:
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。