java.lang.IllegalArgumentException: You must not call setTag() on a view Glide is targeting
将原有项目图片加载框架picasso改为glide,关于picasso和glide文档就自行查阅相关资料
显示 图片 例子
Glide.with(mContext).load(imageUrl).placeholder(defaultDrawable)
		.error(defaultDrawable).dontAnimate().into(view) 显示正常
因为项目中头像是圆形利用glide实用圆头像代码如下
Glide.with(mContext)
	     .load(imageUrl)
	     .dontAnimate()
	     //.transform(new GlideRoundTransform(mContext,2))//方形圆解
	     .transform(new GlideCircleTransform2(mContext))//圆形
	     .into(view);
GlideCircleTransform2代码
public class GlideCircleTransform2 extends BitmapTransformation {
     public GlideCircleTransform2(Context context) {
            super(context);
        }
        @Override protected Bitmap transform(BitmapPool pool, Bitmap toTransform, int outWidth, int outHeight) {
            return circleCrop(pool, toTransform);
        }
        private static Bitmap circleCrop(BitmapPool pool, Bitmap source) {
            if (source == null) return null;
            int size = Math.min(source.getWidth(), source.getHeight());
            int x = (source.getWidth() - size) / 2;
            int y = (source.getHeight() - size) / 2;
            // TODO this could be acquired from the pool too
            Bitmap squared = Bitmap.createBitmap(source, x, y, size, size);
            Bitmap result = pool.get(size, size, Bitmap.Config.ARGB_8888);
            if (result == null) {
                result = Bitmap.createBitmap(size, size, Bitmap.Config.ARGB_8888);
            }
            Canvas canvas = new Canvas(result);
            Paint paint = new Paint();
            paint.setShader(new BitmapShader(squared, BitmapShader.TileMode.CLAMP, BitmapShader.TileMode.CLAMP));
            paint.setAntiAlias(true);
            float r = size / 2f;
            canvas.drawCircle(r, r, r, paint);
            return result;
        }
        @Override public String getId() {
            return getClass().getName();
        }
}
运行项目 提示我 java.lang.IllegalArgumentException: You must not call setTag() on a view Glide is targeting
直接开始google大法
搜索结果 http://stackoverflow.com/questions/34833627/error-you-must-not-call-settag-on-a-view-glide-is-targeting-when-use-glide/35096552#35096552
然后我将我的adapter时面全部涉及tag的全部去掉只留convertView的tag 然后在给convertView的tag加入key 区别与其它tag
if (convertView == null) {
	    	 convertView = mInflater.inflate(R.layout.broadcast_fragment_item,parent,false);
	    	 holder = new ViewHolder(convertView);
	    	 convertView.setTag(R.id.glide_tag,holder);
	    }else{
	    	holder = (ViewHolder)convertView.getTag(R.id.glide_tag);
	    }
R.id.glide_tag是我在ids.xml定义了一个ID
java.lang.IllegalArgumentException: You must not call setTag() on a view Glide is targeting的更多相关文章
- You must not call setTag() on a view Glide is targeting
		概述 在使用Glide加载图片时,如果出现"You must not call setTag() on a view Glide is targeting"的错误,八成是在使用Li ... 
- Glide加载图片报错You must not call setTag() on a view Glide is targeting
		报错信息为:You must not call setTag() on a view Glide is targeting 原因就是View使用setTag后导致Glide之前请求的标记被清除,强制转 ... 
- You must not call setTag() on a view Glide is targeting when use Glide
		以下代码是一个显示图片的RecyclerView 的Adapter用到的,当点击图片,跳到另一个Activity显示大图.RecyclerView 与ListView不同 然而没有setOnClick ... 
- “You must not call setTag() on a view Glide is targeting”  解决
		报错原因大致是因为Glide加载的iamgeView调用了setTag()方法导致的错误, 因为Glide已经默认为ImageView设置的Tag. 解决办法:自定义一个Application,在里面 ... 
- [Android] View.setTag(key,Object) (java.lang.IllegalArgumentException: The key must be an application-specific resource id.)
		转自: http://blog.csdn.net/brokge/article/details/8536906 setTag是android的view类中很有用的一个方法,可以用它来给空间附加一些信息 ... 
- hadoop程序问题:java.lang.IllegalArgumentException: Wrong FS: hdfs:/ expected file:///
		Java代码如下: FileSystem fs = FileSystem.get(conf); in = fs.open(new Path("hdfs://192.168.130.54:19 ... 
- 严重: Error starting static Resources java.lang.IllegalArgumentException:
		严重: Error starting static Resources java.lang.IllegalArgumentException: Document base E:\myworkspace ... 
- Eclipse启动Tomcat时发生java.lang.IllegalArgumentException: <session-config> element is limited to 1 occurrence
		在学习struts 2时,为了方便,直接从下载的struts的apps目录下的struts2-blank.war压缩包下的WEB-INF\复制的web.xml,当我启动Tomcat时,发生 java. ... 
- tomcat报错java.lang.IllegalArgumentException: Document base XXXXX does not exist or is not a readable directory
		启动tomcat的时候报如下错误: java.lang.IllegalArgumentException: Document base F:\java\tools\tomcat\me-webapps\ ... 
随机推荐
- (转)mvc Area相关技术
			转自: http://www.cnblogs.com/zgqys1980/archive/2012/08/22/2650774.html ASP.NET MVC中,是依靠某些文件夹以及类的固定命名规则 ... 
- Hibernate映射之OneToOne(第二篇)
			这是在项目中实际遇到的一个问题,纠结了很久.一开始参考mkyong的 ,两边都写OneToOne ,后来查看了一下项目经理在原来一些模块中的写法. 学习一下: 首先是E-R图: 一个货品可以进行多次 ... 
- 1.一起来学hibernate之hibernate简介
			一.简介 Hibernate,是一个开源的ORM框架.所谓的ORM,即object relative mapping,就是对象关系映射. 那什么是对象关系映射? 对象,即java类,又称为实体类,对象 ... 
- 【书海】《Head First Java》 ——读后总结
			<Head First Java> 中文版 (第二版) IT`huhui前言录 <Head First Java>这本书我不算特别细的看了一遍.认为十分适合初学者,甚至是没接触 ... 
- HTTP协议状态码详解(HTTP Status Code)
			转自:http://www.cnblogs.com/shanyou/archive/2012/05/06/2486134.html 使用ASP.NET/PHP/JSP 或者javascript都会用到 ... 
- libqrencode 3.4.3 发布,二维码的C解析库
			libqrencode 3.4.3 的命令行增加了 --rle 参数,修复了开发库和命令行工具的一些小 bug. libqrencode (QRencode) 是一个用C语言编写的用来解析二维条形码( ... 
- SQL语句汇总(一)——数据库与表的操作以及创建约束
			首先,非常感谢大家对上篇博文的支持,真是让本菜受宠若惊,同时对拖了这么久才出了此篇表示抱歉. 前言:此文旨在汇总从建立数据库到联接查询等绝大部分SQL语句.SQL语句虽不能说很多,但稍有时间不写就容易 ... 
- ASP.NET MVC学习之Ajax(完结)
			一.前言 通过上面的一番学习,大家一定收获不少.但是总归会有一个结束的时候,但是这个结束也意味着新的开始. 如果你是从事ASP.NET开发,并且也使用了第三方控件,那么一定会觉得ASP.NET开发aj ... 
- Kali Linux系列教程之OpenVas安装
			Kali Linux系列教程之OpenVas安装 文 /玄魂 目录 Kali Linux系列教程之OpenVas安装 前言 1. 服务器层组件 2.客户层组件 安装过程 Initial setup ... 
- [Java Web] 5、JSP (1) 注释 & Scriptlet
			>_<" 在JSP中支持两种注释的语法操作,一种是显式注释,这种注释客户端是允许看见的,另外一种是隐式注释,此种注释客户端是无法看见的. 显式注释语法: <!-- 注释内容 ... 
