在实现Parcelable的类中添加一个静态的CREATOR变量,并重写其中的createFromParcel和newArray方法。 例如,假设有一个Student类实现了Parcelable接口,在该类的代码中应添加如下代码:
public class Student implements Parcelable{
//... 其他变量和方法 ...
public static final Parcelable.Creator CREATOR = new Parcelable.Creator() {
@Override
public Student createFromParcel(Parcel in) {
return new Student(in);
}
@Override
public Student[] newArray(int size) {
return new Student[size];
}
};
protected Student(Parcel in) {
//... 从Parcel中读取数据并设置变量 ...
}
//... 实现Parcelable接口中的方法 ...
}
这样,AndroidStudio就不会再提示“Error: This class implements Parcelable but does not provide a CREATOR field [ParcelCreator]”的错误了。