Glide加载图片报错You must not call setTag() on a view Glide is targeting

不想你离开。 提交于 2020-03-21 13:09:06

报错信息为:You must not call setTag() on a view Glide is targeting

 

原因就是View使用setTag后导致Glide之前请求的标记被清除,强制转换过程中不能将你给定的类型判断为Request类型所致。

在Glide源码中可追溯:

 if (tag instanceof Request) {
            request = (Request) tag;
        } else {
            throw new IllegalArgumentException("You must not call setTag() on a view Glide is targeting");
        }

 所以你可以在Glide代码执行之后在使用 setTag就不会出现异常了!

 ***但是这里仍然有个“坑”在Glide代码执行之后使用 setTag会出现不定期无法加载图片,如果我们必须要使用setTag的话请使用setTag(id,val);即可,这里需要添加一个value/ids资源文件;

配置例如:

<resources>
<!--给图片标记索引位置-->
<item name="indexTag" type="id" />
</resources>

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!