如何实现使用通用数据类型将Set < ArrayList < ? > >
写入我的包裹?
这是我的代码..
dest.writeList(getArrTRA());
dest.writeList(getArrTSAC());
dest.write???(getArrListSet()); //how can i write my Set<ArrayList<?
public Set<ArrayList<?>> getArrListSet() {
return arrSetOfPaymentMode;
}
答案 0 :(得分:2)
public class ImageContainer implements Serializable, Parcelable {
/**
*
*/
private static final long serialVersionUID = 1L;
public ImageContainer() {
// TODO Auto-generated constructor stub
}
public ImageContainer(Parcel in) {
// TODO Auto-generated constructor stub
readFromParcel(in);
}
/**
* custom images in this article
*/
@SerializedName("Image")
ArrayList<ImageCls> alCustomImages=new ArrayList<ImageCls>();
public ArrayList<ImageCls> getAlCustomImages() {
return alCustomImages;
}
public void setAlCustomImages(ArrayList<ImageCls> alCustomImages) {
this.alCustomImages = alCustomImages;
}
@Override
public int describeContents() {
// TODO Auto-generated method stub
return 0;
}
@Override
public void writeToParcel(Parcel dest, int flags) {
// TODO Auto-generated method stub
dest.writeList(alCustomImages);
}
@SuppressWarnings("unchecked")
private void readFromParcel(Parcel in) {
// TODO Auto-generated method stub
this.alCustomImages = in.readArrayList(ImageCls.class.getClassLoader());
}
@SuppressWarnings("rawtypes")
public static final Parcelable.Creator CREATOR = new Parcelable.Creator() {
public ImageContainer createFromParcel(Parcel in) {
return new ImageContainer(in);
}
public ImageContainer[] newArray(int size) {
return new ImageContainer[size];
}
};
}
你的班级应该实现Parcelable。上面的代码就是一个例子。
您的问题是您正在尝试将通用数据类型读/写到包。但是无法在parcel中读/写通用数据类型。详细了解如何使用Parcelable here和Parcel here