Cómo implementar parcelable para Lista <Long>

Estoy tratando de pasar una lista en mi hacer parcelable:

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

Prueba esto en su lugar:

 sizeImages = new ArrayList<Long>(); // or any other type of List in.readList(sizeImages, null); 

La documentación de Parcel.readList de Parcel.readList dice:

Leer en un objeto List existente de la parcela

Y por lo tanto, es necesario crear primero la List .

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.