3

少し複雑です。

オブジェクト「B」のArrayListを持つオブジェクト「A」があります

オブジェクト 'B' にはオブジェクト 'A' への参照があります。

パーセルを開始すると、StackoverflowError が続きます。

それを修正する回避策はありますか。

ここに私のクラス:

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];
    }
};

}

タグ.java

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];
    }
};

私の悪い英語で申し訳ありません...

誰かアイデアはありますか?どうも。

4

0 に答える 0