2 zbh99520 zbh99520 于 2017.08.28 23:01 提问

java.util.ArrayList cannot be cast to byte[]

类型不能强制转换,但是我这个并没看出来哪里需要转换,请大家帮忙看一看哪里出问题了。
我在一个activity将bitmap转为byte[]类型,装入List里面,通过gson把这个list变为json类型,再传到另一个activity,解析json数据再转为List。
代码比较长,我就不全列出了。就用log来提供内容吧。

    private List<byte[]> mBitmaps = new ArrayList<>();
    ......
    Log.i(TAG, "getView: "+mBitmaps.get(i));
    Log.i(TAG, "getView: "+mBitmaps);
    Log.i(TAG, "getView: "+mBitmaps.getClass());
if (mBitmaps != null) {
    Glide.with(mContext).load(mBitmaps.get(i)).into(viewHolder.imageView);
}

打印的内容就是
getview:[... , ...]
getview:[[... , ...]
getView: class java.util.ArrayList
报错就是在Glide那一行, ...就省略了就是-128到128一堆数字。
还需要什么信息就说一下。

2个回答

huang931027
huang931027   2017.08.29 09:35

mBitmaps.get(i)的结果还是一个List数组吧? load方法的参数是不是要求必须是byte数组呢?

zbh99520
zbh99520 并且当mBitmaps.get(i).getClass()也会出现同样的错误
3 个月之前 回复
zbh99520
zbh99520 我那个mBitmaps就是放btye[]的啊,不是放的List
3 个月之前 回复
qq_36255612
qq_36255612   2017.08.31 17:06

你传递做的操作太多了,为什么把Bitmap对象转为字节数组,然后又转为对象呢?
干嘛不直接扔一个对象过去?
如果数据较多,就写一个bean实现Persable接口,扔过去,在哪里用去哪里解析
搞不懂你这么做干什么

Csdn user default icon
上传中...
上传图片
插入图片