我的课程:
public class XXX implements Parcelable {
private Integer id;
private String title;
private String content;
...
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeValue(this.id);
dest.writeString(this.title);
dest.writeString(this.content);
}
protected XXX(Parcel in) {
this.id = (Integer) in.readValue(Integer.class.getClassLoader());
this.title = in.readString();
this.content = in.readString();
}
public static final Parcelable.Creator<XXX> CREATOR = new Parcelable.Creator<XXX>() {
@Override
public XXX createFromParcel(Parcel source) {
return new XXX(source);
}
@Override
public XXX[] newArray(int size) {
return new XXX[size];
}
};
从Parcel获取id有两种方法:
this.id = (Integer) in.readValue(Integer.class.getClassLoader());
和
id = in.readInt();
我应该使用哪个?还是任何人?
答案 0 :(得分:1)
函数readInt用于int值。整数类对象不仅仅是int。使用readValue。
你也可以认为 id 字段应该是Integer还是int就足够了。