How to implement detailed for List <Long>

I am trying to pass a list in my example:

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> } } 
+7
source share
1 answer

Try this instead:

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

Android documentation for Parcel.readList says:

Reading into an existing List object from a package

and therefore you need to create a List first.

+15
source

All Articles