实体类实现Parcelable(包含boolean类型)
时间: 2023-12-27 13:05:20 浏览: 174
要实现Parcelable接口,需要在实体类中实现以下方法:
1. writeToParcel(Parcel dest, int flags):将实体类的数据写入Parcel对象中。
2. describeContents():返回当前对象的内容描述符。
下面是一个包含boolean类型的实体类的示例代码:
```
public class Person implements Parcelable {
private String name;
private int age;
private boolean isMale;
public Person(String name, int age, boolean isMale) {
this.name = name;
this.age = age;
this.isMale = isMale;
}
protected Person(Parcel in) {
name = in.readString();
age = in.readInt();
isMale = in.readByte() != 0;
}
public static final Creator<Person> CREATOR = new Creator<Person>() {
@Override
public Person createFromParcel(Parcel in) {
return new Person(in);
}
@Override
public Person[] newArray(int size) {
return new Person[size];
}
};
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeString(name);
dest.writeInt(age);
dest.writeByte((byte) (isMale ? 1 : 0));
}
@Override
public int describeContents() {
return 0;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
public boolean isMale() {
return isMale;
}
}
```
在该实体类中,我们实现了Parcelable接口,并重写了writeToParcel(Parcel dest, int flags)和describeContents()方法。在writeToParcel方法中,我们使用writeByte方法来写入boolean类型的数据。
注意:在读取boolean类型数据时,我们使用了readByte方法,并将其转换为boolean类型。
阅读全文