Parcelable protocol requires a Parcelable.Creator object called。。。。。
2013-11-05 13:44
106 查看
[java]
view plaincopyprint?
public class Person implements Parcelable{
// 成员变量
private int id;
private String name;
// 1.必须实现Parcelable.Creator接口,否则在获取Person数据的时候,会报错,如下:
// android.os.BadParcelableException:
// Parcelable protocol requires a Parcelable.Creator object called CREATOR on class com.um.demo.Person
// 2.这个接口实现了从Percel容器读取Person数据,并返回Person对象给逻辑层使用
// 3.实现Parcelable.Creator接口对象名必须为CREATOR,不如同样会报错上面所提到的错;
// 4.在读取Parcel容器里的数据事,必须按成员变量声明的顺序读取数据,不然会出现获取数据出错
// 5.反序列化对象
public static final Parcelable.Creator<Person> CREATOR = new Creator(){
@Override
public Person createFromParcel(Parcel source) {
// TODO Auto-generated method stub
// 必须按成员变量声明的顺序读取数据,不然会出现获取数据出错
Person p = new Person();
p.setId(source.readInt());
p.setName(source.readString());
return p;
}
@Override
public Person[] newArray(int size) {
// TODO Auto-generated method stub
return new Person[size];
}
};
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public int describeContents() {
// TODO Auto-generated method stub
return 0;
}
@Override
public void writeToParcel(Parcel dest, int flags) {
// TODO Auto-generated method stub
// 1.必须按成员变量声明的顺序封装数据,不然会出现获取数据出错
// 2.序列化对象
dest.writeInt(id);
dest.writeString(name);
}
}
view plaincopyprint?
public class Person implements Parcelable{
// 成员变量
private int id;
private String name;
// 1.必须实现Parcelable.Creator接口,否则在获取Person数据的时候,会报错,如下:
// android.os.BadParcelableException:
// Parcelable protocol requires a Parcelable.Creator object called CREATOR on class com.um.demo.Person
// 2.这个接口实现了从Percel容器读取Person数据,并返回Person对象给逻辑层使用
// 3.实现Parcelable.Creator接口对象名必须为CREATOR,不如同样会报错上面所提到的错;
// 4.在读取Parcel容器里的数据事,必须按成员变量声明的顺序读取数据,不然会出现获取数据出错
// 5.反序列化对象
public static final Parcelable.Creator<Person> CREATOR = new Creator(){
@Override
public Person createFromParcel(Parcel source) {
// TODO Auto-generated method stub
// 必须按成员变量声明的顺序读取数据,不然会出现获取数据出错
Person p = new Person();
p.setId(source.readInt());
p.setName(source.readString());
return p;
}
@Override
public Person[] newArray(int size) {
// TODO Auto-generated method stub
return new Person[size];
}
};
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public int describeContents() {
// TODO Auto-generated method stub
return 0;
}
@Override
public void writeToParcel(Parcel dest, int flags) {
// TODO Auto-generated method stub
// 1.必须按成员变量声明的顺序封装数据,不然会出现获取数据出错
// 2.序列化对象
dest.writeInt(id);
dest.writeString(name);
}
}
相关文章推荐
- Parcelable protocol requires a Parcelable.Creator object called。。。。。
- BadParcelableException:Parcelable protocol requires a Parcelable 错误
- android Parcelable 带有数组的对象如何序列化 String[] Long[] int[] Object[]
- IO-序列化 Serializable Parcelable Object
- Monitor类:Object synchronization method was called from an unsynchronized block of code.
- IOS开发基础Object-C(13)—— protocol协议
- SOAP:Simple Object Access Protocol
- 简单对象访问协议(SOAP---Simple Object Access Protocol)
- object-c学习:category 和 protocol区别
- 关于ios object-c 类别-分类 category 的静态方法与私有变量,协议 protocol 
- Parcelable encountered IOException writing serializable object 解决方法
- Object-C中的代理协议Protocol
- Protocol Buffers for Object-C
- Intent传递Object之Parcelable
- iOS: NSKeyedArchiverDelegate Protocol的方法archiver:willEncodeObject:
- Parcelable encountered IOException writing serializable object (name = xxx)
- Groovy Meta Object Protocol
- TypeError: 'stepUp' called on an object that does not implement interface HTMLInputElement.
- ajax传值时报错:TypeError: 'stepUp' called on an object that does not implement interface HTMLInputElement
- Object-C 学习笔记(二十二)--- 协议Protocol