Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/231.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 无法在parcelable中读取和写入double的列表_Android_List_Double_Parcelable - Fatal编程技术网

Android 无法在parcelable中读取和写入double的列表

Android 无法在parcelable中读取和写入double的列表,android,list,double,parcelable,Android,List,Double,Parcelable,我有一个班级有双打名单。我的班级正在实施parcelable。我不知道如何读和写双包裹 下面是我的课 public class CinemasModel implements Parcelable{ @SerializedName("ll") private ArrayList<Double> mLl; @SerializedName("films") private List<FilmsModel> mFilms; protected CinemasModel(P

我有一个班级有双打名单。我的班级正在实施parcelable。我不知道如何读和写双包裹

下面是我的课

public class CinemasModel implements Parcelable{

@SerializedName("ll")
private ArrayList<Double> mLl;

@SerializedName("films")
private List<FilmsModel> mFilms;

protected CinemasModel(Parcel in) {
    mLl = new ArrayList<>();
    in.readValue(this.getClass().getClassLoader());
    mFilms = new ArrayList<FilmsModel>();
    in.readList(this.mFilms, null);
}

public static final Creator<CinemasModel> CREATOR = new Creator<CinemasModel>() {
    @Override
    public CinemasModel createFromParcel(Parcel in) {
        return new CinemasModel(in);
    }

    @Override
    public CinemasModel[] newArray(int size) {
        return new CinemasModel[size];
    }
};

public CinemasModel(ArrayList<Double> ll, List<FilmsModel> films){
    this.mLl = ll;
    this.mFilms = films;
}

public CinemasModel(){

}

@Override
public int describeContents() {
    return 0;
}

@Override
public void writeToParcel(Parcel parcel, int i) {
    parcel.writeValue(mLl);
    parcel.writeList(mFilms);
}
}
任何帮助都将不胜感激

你为包裹写代码吗。 请记住,您将需要使FilmsModel类也可打包。 下面的代码运行良好,由上面的parcelable插件生成

public class CinemasModel implements Parcelable {

    @SerializedName("ll")
    private ArrayList<Double> mLl;

    @SerializedName("films")
    private List<FilmsModel> mFilms;

    protected CinemasModel(Parcel in) {
        this.mLl = new ArrayList<Double>();
        in.readList(this.mLl, Double.class.getClassLoader());
        this.mFilms = new ArrayList<FilmsModel>();
        in.readList(this.mFilms, FilmsModel.class.getClassLoader());
    }

    public static final Parcelable.Creator<CinemasModel> CREATOR = new Parcelable.Creator<CinemasModel>() {
        @Override
        public CinemasModel createFromParcel(Parcel source) {
            return new CinemasModel(source);
        }

        @Override
        public CinemasModel[] newArray(int size) {
            return new CinemasModel[size];
        }
    };
}

类FilmModels是否也实现了Parcelable?在writeToParcel中,为什么不使用parcel.writeListmLl?在@Greggz和FilmModel中都不起作用。FilmModel确实实现了ParcelableWorked,非常有魅力,感谢插件更新Y@Khemraj