I'm trying to pass a List in my parcelable doing:
public class MetaDados implements Parcelable {
private List<Long> sizeImages;
public MetaDados(List<Long> sizeImages){
this.sizeImages = sizeImages;
}
public List<Long> getSizeImages() {
        return sizeImages;
    }
    public void setSizeImages(List<Long> sizeImages) {
        this.sizeImages = sizeImages;
    }
@Override
    public int describeContents() {
        // TODO Auto-generated method stub
        return 0;
    }
@Override
    public void writeToParcel(Parcel dest, int flags) {
dest.writeList(sizeImages);
}
    public static final Parcelable.Creator<MetaDados> CREATOR = new Parcelable.Creator<MetaDados>() {
        @Override
        public MetaDados createFromParcel(Parcel in) {
            return new MetaDados(in);
        }
        @Override
        public MetaDados[] newArray(int size) {
            return new MetaDados[size];
        }
    };
private MetaDados(Parcel in) {
//HERE IS THE PROBLEM, I'VE tried this:
sizeImages = in.readList(sizeImages, Long.class.getClassLoader());
//but what i got: Type mismatch: cannot convert from void to List<Long>
}
}
                Try this instead:
sizeImages = new ArrayList<Long>(); // or any other type of List
in.readList(sizeImages, null);
The Android documentation for Parcel.readList says:
Read into an existing List object from the parcel
and thus, you need to first create the List.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With