Android 如何将具有阵列列表的对象与尊重第一个对象的其他对象打包

Android 如何将具有阵列列表的对象与尊重第一个对象的其他对象打包,android,parcelable,Android,Parcelable,有点复杂 我有一个对象“A”,它有一个对象“B”的数组列表 对象“B”引用了对象“a” 当我开始打包时,会出现StackOverflower错误 有没有修理工来修理它 以下是我的课程: Freizeit.java public class Freizeit implements Parcelable{ private List<Tag> tage; public static final String FREIZEIT = "freizeit"; private Freiz

有点复杂

我有一个对象“A”,它有一个对象“B”的数组列表

对象“B”引用了对象“a”

当我开始打包时,会出现StackOverflower错误

有没有修理工来修理它

以下是我的课程:

Freizeit.java

public class Freizeit implements Parcelable{


private List<Tag> tage;

public static final String FREIZEIT = "freizeit";


private Freizeit (Parcel in) {
    readFromParcel(in);
}

@Override
public void writeToParcel(Parcel dest, int flags) {
    dest.writeTypedList(this.tage);
}

public void readFromParcel(Parcel in) {
    in.readTypedList(this.tage, Tag.CREATOR);
}

public static final Parcelable.Creator<Freizeit> CREATOR = new Parcelable.Creator<Freizeit>() {

    @Override
    public Freizeit createFromParcel(Parcel source) {
        return new Freizeit (source);
    }

    @Override
    public Freizeit[] newArray(int size) {
        return new Freizeit[size];
    }
};
public class Tag implements Parcelable {

private Freizeit freizeit;

public Tag (Freizeit freizeit) {
    this.freizeit = freizeit;
}

private Tag (Parcel in) {
    readFromParcel(in);
}

@Override
public void writeToParcel(Parcel dest, int flags) {
    dest.writeParcelable(this.freizeit, flags);
}

public void readFromParcel(Parcel in) {
    this.freizeit = in.readParcelable(Freizeit.class.getClassLoader());
}

public static final Parcelable.Creator<Tag> CREATOR = new Parcelable.Creator<Tag>() {

    @Override
    public Tag createFromParcel(Parcel source) {
        return new Tag (source);
    }

    @Override
    public Tag[] newArray(int size) {
        return new Tag[size];
    }
};
public类Freizeit实现可包裹{
私人名单;
公共静态最终字符串FREIZEIT=“FREIZEIT”;
二等兵Freizeit(内包){
从包裹中读取;
}
@凌驾
公共无效写入包裹(包裹目的地,内部标志){
dest.writeTypedList(this.tage);
}
公共无效readFromParcel(地块位于中){
in.readTypedList(this.tage,Tag.CREATOR);
}
public static final Parcelable.Creator=新建Parcelable.Creator(){
@凌驾
公共Freizeit createFromParcel(地块源){
返回新的Freizeit(来源);
}
@凌驾
public Freizeit[]新数组(整数大小){
返回新的Freizeit[size];
}
};
}

Tag.java

public class Freizeit implements Parcelable{


private List<Tag> tage;

public static final String FREIZEIT = "freizeit";


private Freizeit (Parcel in) {
    readFromParcel(in);
}

@Override
public void writeToParcel(Parcel dest, int flags) {
    dest.writeTypedList(this.tage);
}

public void readFromParcel(Parcel in) {
    in.readTypedList(this.tage, Tag.CREATOR);
}

public static final Parcelable.Creator<Freizeit> CREATOR = new Parcelable.Creator<Freizeit>() {

    @Override
    public Freizeit createFromParcel(Parcel source) {
        return new Freizeit (source);
    }

    @Override
    public Freizeit[] newArray(int size) {
        return new Freizeit[size];
    }
};
public class Tag implements Parcelable {

private Freizeit freizeit;

public Tag (Freizeit freizeit) {
    this.freizeit = freizeit;
}

private Tag (Parcel in) {
    readFromParcel(in);
}

@Override
public void writeToParcel(Parcel dest, int flags) {
    dest.writeParcelable(this.freizeit, flags);
}

public void readFromParcel(Parcel in) {
    this.freizeit = in.readParcelable(Freizeit.class.getClassLoader());
}

public static final Parcelable.Creator<Tag> CREATOR = new Parcelable.Creator<Tag>() {

    @Override
    public Tag createFromParcel(Parcel source) {
        return new Tag (source);
    }

    @Override
    public Tag[] newArray(int size) {
        return new Tag[size];
    }
};
public类标记实现可包裹{
私人的Freizeit Freizeit;
公共标签(Freizeit Freizeit){
this.freizeit=freizeit;
}
专用标签(包裹内){
从包裹中读取;
}
@凌驾
公共无效写入包裹(包裹目的地,内部标志){
dest.writeparceable(this.freizeit,flags);
}
公共无效readFromParcel(地块位于中){
this.freizeit=in.readParcelable(freizeit.class.getClassLoader());
}
public static final Parcelable.Creator=新建Parcelable.Creator(){
@凌驾
公共标记createFromParcel(地块源){
返回新标签(源);
}
@凌驾
公共标记[]新数组(整数大小){
返回新标签[大小];
}
};
对不起,我的英语不好

有人有主意吗?谢谢