Android - Glide的使用

原创 2015年10月20日 15:33:20

Glide使用问题

  1. Glide setTag崩溃问题

java.lang.IllegalArgumentException: You must not call setTag() on a view Glide is targeting
- 原因:
and an Adapter which is using the usual ViewHolder pattern, i.e. inflating the view from resource (above) and setTag(vh);, now Glide wants to do the same when loading the image.
- 解决方案:
There could easily be a way to prevent conflicts, by allowing the ViewTarget users to set an ID to use with setTag(int, Object), even if it’s just a static method on ViewTarget (default beingView.NO_ID -> setTag(Object)).

  1. 如何为Glide设置Tag
    -> java.lang.IllegalArgumentException: The key must be an application-specific resource id.

    • 原因:

    官方的api文档中提到:“ The specified key should be an id declared in the resources of the application to ensure it is unique (see the ID resource type). Keys identified as belonging to the Android framework or not associated with any package will cause an IllegalArgumentExceptionto be thrown.”所以抛出IllegalArgumentException的原因就在于key不唯一,那么如何保证这种唯一性呢?定义一个final类型的int变量和硬编码一个值的方式都是行不通的。

private static final int TAG_ONLINE_ID = 1;
((Button) row.findViewById(R.id.btnPickContact)).setTag(TAG_ONLINE_ID,objContact.onlineid);
05-18 20:29:38.044: ERROR/AndroidRuntime(5453): java.lang.IllegalArgumentException: The key must be an application-specific resource id.
05-18 20:29:38.044: ERROR/AndroidRuntime(5453):     at android.view.View.setTag(View.java:7704)
05-18 20:29:38.044: ERROR/AndroidRuntime(5453):     at com.mypkg.viewP.inflateRow(viewP.java:518)


  • 解决

setTag是android的view类中很有用的一个方法,可以用它来给空间附加一些信息,在很多场合下都得到妙用。
setTag(Object tag)方法比较简单,这里主要谈一谈带两个参数的setTag方法。
如果只需要设置一个tag,那么直接调用setTag(Object tag)方法就可以轻松搞定,如果一定需要使用多个tag绑定,那么需要先在res/values/strings.xml中添加




使用的时候写成
imageView.setTag(R.id.tag_first, “Hello”);
imageView.setTag(R.id.tag_second, “Success”);
就可以了
取值的时候
String tag_first=v.getTag(R.id.tag_first).tostring();
就能取到值了!

图片加载库Glide——解决图片错乱+无法设置tag

今天在写一个图片加载类ImageLoader,在使用的时候想用Glide替代我写的ImageLoader,然后问题就出来了!!!第一个问题:在使用自己写的ImageLoader的时候,为了防止item...
  • lichongya
  • lichongya
  • 2016年05月23日 21:20
  • 12235

You must not call setTag() on a view Glide is targeting的解决方案

You must not call setTag() on a view Glide is targeting的解决方案
  • qq_26411333
  • qq_26411333
  • 2016年07月26日 13:19
  • 10624

Glide图片框架遇到的小坑

在项目中使用了谷歌Glide图片加载框架,在Listview中我的是一个类似新闻资讯一样的列表,遇到了几个我问题再次记录一下! 一 在Fragment中使用Listview的addHeaderV...
  • shangai01
  • shangai01
  • 2016年05月12日 10:29
  • 523

Glide Exception:"You must not call setTag() on a view Glide is targeting"

How to solve the Glide Exception:”You must not call setTag() on a view Glide is targeting”The follow...
  • Yuangudashen
  • Yuangudashen
  • 2017年07月18日 11:47
  • 1119

Error “You must not call setTag() on a view Glide is targeting” when use Glide

项目中在使用Glide图片加载框架是遇到如下错误You must not call setTag() on a view Glide is targeting 报错原因大致是因为Glide加载的iam...
  • ltym2014
  • ltym2014
  • 2016年06月01日 20:27
  • 1960

图片加载错乱,Glide无法设置Tag解决方式

因为Adapter对View的复用以及图片网络请求的耗时问题有时候在快速滑动且网络不佳的情况下会出现图片加载错乱。 即滑动到屏幕内发出网络请求,但并未请求完成就已滑出屏幕,待到请求完成时,就加载到了...
  • qq_35717877
  • qq_35717877
  • 2016年12月26日 15:42
  • 2974

java.lang.IllegalArgumentException: You must not call setTag() on a view Glide is targeting

Glide使用问题 Glide setTag崩溃问题 java.lang.IllegalArgumentException: You must not call setTag() on...
  • u013164293
  • u013164293
  • 2016年03月31日 10:29
  • 4168

Glide 图片加载 java.lang.IllegalArgumentException

加载方式Glide.with(context).load(imageUrl).centerCrop().placeholder(R.drawable.thumbnail_null).crossFade...
  • jerycoupter
  • jerycoupter
  • 2017年03月21日 16:48
  • 430

java.lang.IllegalArgumentException: You must not call setTag() on a view Glide is targeting

java.lang.IllegalArgumentException: You must not call setTag() on a view Glide is targeting 错误处理问题描...
  • FlyingMonkeyR
  • FlyingMonkeyR
  • 2017年09月04日 10:28
  • 443

Gilde刷新图片闪烁和You must not call setTag() on a view Glide is targeting如何解决

问题一:在使用Glide刷新时图片闪烁 在使用Glide加载图片时图片闪烁,并且会出现图片大小忽大忽小的问题,这是我们应该如何解决? 1.关于忽大忽小:其实很大程度上是由于刷新闪烁问题引起的。...
  • u010899537
  • u010899537
  • 2017年07月05日 11:46
  • 998
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Android - Glide的使用
举报原因:
原因补充:

(最多只允许输入30个字)