私はこのクラスを持っています:
public class Foo implements Parcelable {
private int id;
private MyFoo myFoo
private ForeignCollection<MyFoo2> myFoo2s;
public void writeToParcel(Parcel out, int flags) {
out.writeInt(id);
out.writeParcel(myFoo, flags);
out.write //How can I write the ForeignCollection?
}
public Foo(Parcel in) {
id = in.readInt();
myFoo = in.readParcelable(getClass().getClassLoader())
myFoo2s = // How can I read the ForeignCollection?
}
public static final Parcelable.Creator<Foo> CREATOR = new Parcelable.Creator<Foo>() {
public Foo createFromParcel(Parcel in) {
return new Foo(in);
}
public Foo[] newArray(int size) {
return new Foo[size];
}
};
}
MyFoo および MyFoo2 クラスも Parcelable を実装していますが、ForeignCollection は実装していません。ForeignCollectionは、次のインターフェイスを実装するクラスです: Collection、CloseableIterable、および Iterable。
out.writeList
ForeignCollection は List インターフェースを実装していないので使えません。