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
Victor laerte
source share1 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
Tushar
source share