姬長信(Redy)

android – 如何使用嵌套对象创建一个类Par…


我想让A级Parcelable.
public class A {
    public String str;
    public ArrayList list;
}

这是我到目前为止所提出的.但是它崩溃了NullPointerException.问题是这两个语句:dest.writeList(list); &安培; in.readList(list,this.getClass().getClassLoader());.
我无法弄清楚从这里做什么:(

A级

public class A implements Parcelable {
    public String str;
    public ArrayList list;

    @Override
    public int describeContents() {
        // TODO Auto-generated method stub
        return 0;
    }

    @Override
    public void writeToParcel(Parcel dest, int flags) {
        dest.writeString(str);
        dest.writeList(list);
    }

    private A(Parcel in) {
        str = in.readString();
        in.readList(list, this.getClass().getClassLoader());
    }

    public static final Parcelable.Creator CREATOR
            = new Parcelable.Creator() {
        public A createFromParcel(Parcel in) {
            return new A(in);
        }

        public A[] newArray(int size) {
            return new A[size];
        }
    };
}

B级

public class B implements Parcelable {
    public String str;

    @Override
    public int describeContents() {
        // TODO Auto-generated method stub
        return 0;
    }

    @Override
    public void writeToParcel(Parcel dest, int flags) {
        dest.writeString(str);
    }

    private B(Parcel in) {
        str = in.readString();
    }

    public static final Parcelable.Creator CREATOR
            = new Parcelable.Creator() {
        public B createFromParcel(Parcel in) {
            return new B(in);
        }

        public B[] newArray(int size) {
            return new B[size];
        }
    };
}

感谢您的时间.