Glide是Android加载图片的一个框架。

常用加载图片到imageView:Glide.with(this).load(url).into(ImageView imageview).
当加载失败时一般情侣下会默认调用Glide.error()方法,只需要在error方法中放一个默认图片即可,但当我们需要设置的默认图片是网络图片或者是手机本地图片时,这个方法行不通。
解决办法:Glide为我们提供了listener()方法,onException是图片加载异常回调,将它设置为false时会调用Glide默认的error方法,需要将它设置为true,然后调用我们自己设置的图片加载异常处理,onResourceReady是加载成功的处理。

1、首先给定一个你要获取图片路径
final String path = Environment.getExternalStorageDirectory().getAbsolutePath()+File.separator+"Anycctv"+File.separator+device.deviceUid+".jpg";//这是我自己的本地路径,换成你自己的
2、使用listener方法进行监听
      DrawableTypeRequest<Uri> request = Glide.with(this).load(uri);
request.listener(new RequestListener<Uri, GlideDrawable>() {
@Override
public boolean onException(Exception e, Uri model, Target<GlideDrawable> target, boolean isFirstResource) {
dismissLoading();
//showToast("ex="+e.getMessage());
Glide.with(UlifeplusApp.app).load(path)
.placeholder(mIvPicture.getDrawable())
.signature(new StringSignature(signature))
.crossFade(300)
.error(R.drawable.ic_fg_device_item)
.into(mIvPicture);
return true;
} @Override
public boolean onResourceReady(GlideDrawable resource, Uri model, Target<GlideDrawable> target, boolean isFromMemoryCache, boolean isFirstResource) {
dismissLoading();
//showToast("succ");
return false;
}
})
.crossFade()
.override(Utils.getRealSize(this).x, getResources().getDimensionPixelSize(R.dimen.w_480px))
.skipMemoryCache(true)
.diskCacheStrategy(DiskCacheStrategy.RESULT)
.into(mIvPicture);

小礼物走一走,来简书关注我

v关于使用Glide加载图片失败时显示自己特定的图片的更多相关文章

  1. vue判断图片为空或者图片加载不成功时显示默认图片

    纯css解决方案: <img src="broken.png" alt=""> img { position: relative; } img:af ...

  2. 在WebView中加载HTML页面时显示进度对话框的方法

    webView.setWebViewClient(new WebViewClient(){            ProgressDialog prDialog;            @Overri ...

  3. C++加载dll失败或显示乱码

    右键项目-属性-字符集-使用多字节字符集

  4. Glide 加载图片

    //通过model获取到图片的url,将Url转换成bitmap对象: //设置不保存内存和硬盘缓存, 1 Glide.with(mContext).load(model.getVideoUrl()) ...

  5. Android笔记之使用Glide加载网络图片、下载图片

    Glide简介 不想说太多,真的很方便:P)可以节省我不少时间 GitHub地址:https://github.com/bumptech/glide 加载网络图片到ImageView Glide.wi ...

  6. 使用Glide加载Android图片

    一.概述 Glide是一个在Android端非常好的图片缓冲工具,总体上来说,他有以下优点 使用简单 自适应程度高 支持常见的图片格式,如jpg,png等 支持多种数据源,网络,本地,资源,Asset ...

  7. glide 加载圆角图片

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAABEIAAAD3CAIAAACW6Gb7AAAgAElEQVR4nOy9e1QbZf74//zO4XvOYz

  8. Android中的Glide加载图片

    注意:在Android Studio的项目的build.gradle中添加: compile 'com.github.bumptech.glide:glide:3.6.1' 然后同步一下 目录: 使用 ...

  9. Android使用Glide加载https链接的图片不显示的原因

    平时我们使用Glide加载http网址的图片的时候,图片可以正常加载出来,但是如果服务器端加上了安全认证,当加载自签名的https图片的时候就会报如下错误(证书路径验证异常). 我们如果不修改Glid ...

随机推荐

  1. java web 向数据库插入中文数据乱码问题

    一.先检查下是 页面返回数据时已经乱码了,还是在插入数据库的时候乱的码. 二.页面返回乱码: 1.  Web.XML  文件配置 <!-- 配置编码过滤器 --> <filter&g ...

  2. 使用自签CA,Server,client证书和双向认证

    服务端代码 package main import ( "crypto/tls" "crypto/x509" "google.golang.org/g ...

  3. 【爬虫】把抓到数据存起来——爬虫绝配mongodb

    [爬虫]把抓到数据存起来——爬虫绝配mongodb 视频地址 抓取数据的方法,前面的课程该讲的都已经讲了,爬取下来数据只是第一步,第二步就是要先存起来.我们最容易想到的就是存文件里喽,python写文 ...

  4. javaweb学习笔记(三)

    一.javaweb高级(Filter和Listener)的简单介绍 1.过滤器Filter (https://www.cnblogs.com/vanl/p/5742501.html) ①定义 Filt ...

  5. 洛谷 P1439 【模板】最长公共子序列 题解

    每日一题 day40 打卡 Analysis 因为两个序列都是1~n 的全排列,那么两个序列元素互异且相同,也就是说只是位置不同罢了,那么我们通过一个book数组将A序列的数字在B序列中的位置表示出来 ...

  6. Web API系列(四) 使用ActionFilterAttribute 记录 WebApi Action 请求和返回结果记录

    转自:https://www.cnblogs.com/hnsongbiao/p/7039666.html 需要demo在github中下载: https://github.com/shan333cha ...

  7. Random Target Moving~

    测试了一下用向量处理随机目标,还是挺有趣的,源码如下: PVector p1, p2; float gap = 10; void setup() { size(1920, 1080); backgro ...

  8. Three.js实现滚轮放大展现不同的模型

    目录 Three.js实现滚轮放大展现不同的模型 修改OrbitControls.js的源码 OrbitControls在透视相机(PerspectiveCamera)的控制原理 具体实现 Three ...

  9. Mybatis 通用Mapper增强

    1.确保是个Maven项目,确保Spring与Mybatis正确配置. 2.新建一个自定义通用Mapper. /** * BaseMapper接口:使mapper包含完整的CRUD方法<br&g ...

  10. Linux shell head 命令

    输出前25行 head -n25 input.txt head -n input.txt head - input.txt 输出前5个字符 head -c5 test.cpp head -c test ...