Android Parcelable - Read/write Data To Parcel Using Generic Data Type
How can i implement to write my Set < ArrayList < ? > > to my Parcel using generic data type ? Here is my code.. dest.writeList(getArrTRA()); dest.write
Solution 1:
publicclassImageContainerimplementsSerializable, Parcelable {
/**
*
*/privatestaticfinallongserialVersionUID=1L;
publicImageContainer() {
// TODO Auto-generated constructor stub
}
publicImageContainer(Parcel in) {
// TODO Auto-generated constructor stub
readFromParcel(in);
}
/**
* custom images in this article
*/@SerializedName("Image")
ArrayList<ImageCls> alCustomImages=newArrayList<ImageCls>();
public ArrayList<ImageCls> getAlCustomImages() {
return alCustomImages;
}
publicvoidsetAlCustomImages(ArrayList<ImageCls> alCustomImages) {
this.alCustomImages = alCustomImages;
}
@OverridepublicintdescribeContents() {
// TODO Auto-generated method stubreturn0;
}
@OverridepublicvoidwriteToParcel(Parcel dest, int flags) {
// TODO Auto-generated method stub
dest.writeList(alCustomImages);
}
@SuppressWarnings("unchecked")privatevoidreadFromParcel(Parcel in) {
// TODO Auto-generated method stubthis.alCustomImages = in.readArrayList(ImageCls.class.getClassLoader());
}
@SuppressWarnings("rawtypes")publicstaticfinal Parcelable.CreatorCREATOR=newParcelable.Creator() {
public ImageContainer createFromParcel(Parcel in) {
returnnewImageContainer(in);
}
public ImageContainer[] newArray(int size) {
returnnewImageContainer[size];
}
};
}
your class should implement Parcelable. An example is in above code.
Your issue is you are trying to read/write generic data type to the Parcel. But it is not possible to read/write generic data type in parcel. Read more how to use Parcelable here and Parcel here
Post a Comment for "Android Parcelable - Read/write Data To Parcel Using Generic Data Type"