I have a class having list of doubles. My class is implementing parcelable. I am getting no clue how to read and write double as parcelable.
Following is my class
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);
}
}
Any help will be appreciated.
Below code works well, generated by above parcelable plugin.
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];
}
};
}