首页 技术 正文
技术 2022年11月21日
0 收藏 497 点赞 3,346 浏览 1789 个字

通过实现Parcelable接口序列化对象的步骤:

1、实现Parcelable接口。
2、并且实现Parcelable接口的public
 void writeToParcel(Parcel dest, int flags)方法 。
3、自定义类型中必须含有一个名称为CREATOR的静态成员,该成员对象要求实现Parcelable.Creator接口及其方法。

public class Person implements Parcelable {     public static final Parcelable.Creator<Person> CREATOR = new Creator<Person>() {         @Override        public Person[] newArray(int size) {            return null;        }         @Override        public Person createFromParcel(Parcel source) {            Person result = new Person();            result.age = source.readInt();            result.name = source.readString();            result.address = source.readParcelable(Address.class.getClassLoader());            return result;        }    };    private Address address;    private String name;    private int age;     @Override    public int describeContents() {        return 0;    }     public Address getAddress() {        return address;    }     public void setAddress(Address address) {        this.address = address;    }     @Override    public void writeToParcel(Parcel dest, int flags) {        dest.writeInt(age);        dest.writeString(name);        dest.writeParcelable(address, PARCELABLE_WRITE_RETURN_VALUE);    }     public String getName() {        return name;    }     public void setName(String name) {        this.name = name;    }     public int getAge() {        return age;    }     public void setAge(int age) {        this.age = age;    }     @Override    public String toString() {        return "Person [address=" + address + ", name=" + name + ", age=" + age                + "]";    } }

传递实体类:

Bundle bundle = new Bundle();
//bundle.putSerializable(TITLE, title);
bundle.putParcelable(TITLE, title);
context.startActivity(new Intent(context, target).putExtras(bundle));

接收:

mCollectParamObj = (CollectParamObj) getIntent().getParcelableExtra(
“title”);

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:8,910
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,435
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,250
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,061
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,693
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,731