我正在尝试将可打包的数组列表传递给包含图像 url 的服务。出于某种原因,所有数据类型都传递给服务,但不是 parcelable arraylist。一个错误logcat来了
E/JavaBinder:!!!失败的 BINDER 交易 !!! .
以下是我的 imageurl Arraylist 模型代码。
public class ImagesUrl implements Parcelable {
private int id;
private String filename;
private String imageurl ;
public ImagesUrl(Integer id , String imageurl , String filename) {
this.id = id;
this.filename = filename;
this.imageurl = imageurl ;
}
public static final Parcelable.Creator<ImagesUrl> CREATOR = new Parcelable.Creator<ImagesUrl>() {
public ImagesUrl createFromParcel(Parcel in) {
return new ImagesUrl(in.readInt(),in.readString(), in.readString());
}
public ImagesUrl[] newArray(int size) {
return new ImagesUrl[size];
}
};
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getFilename() {
return filename;
}
public void setFilename(String filename) {
this.filename = filename;
}
public String getImageurl() {
return imageurl;
}
public void setImageurl(String imageurl) {
this.imageurl = imageurl;
}
public static Creator<ImagesUrl> getCREATOR() {
return CREATOR;
}
@Override
public int describeContents() {
return 0;
}
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeInt(id);
dest.writeString(filename);
dest.writeString(imageurl);
}
private void readFromParcel(Parcel in) {
id = in.readInt();
filename = in.readString();
imageurl = in.readString();
}
}
这是启动服务的代码:
Intent i= new Intent(SyncActivity.this,ImageDownloadService.class);
Bundle b=new Bundle();
b.putParcelableArrayList("imageurls", imagesUrlArrayList);
b.putInt("int",12);
i.putExtras(b);
startService(i);
如果我在服务类中获得 pacelable arraylist,我将调用 GetImages asyntask。
largeQ
相关分类