无法将 parcelable arraylist 发送到服务类

我正在尝试将可打包的数组列表传递给包含图像 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。



慕标琳琳
浏览 91回答 1
1回答

largeQ

我的 arraylist 有 5000 个 url,无法通过 intent 发送。我制作了一个实用程序类来在活动之间传递和接收数组。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java