当前位置: 首页 > news >正文

做php网站都用框架吗2022年关键词排名

做php网站都用框架吗,2022年关键词排名,广州黄埔做网站公司哪家好,室内设计去哪里学需求 假设此时已经用load指定一个url: String,又用into指定了一个img: ImageView开始加载,但是网络突然中断,导致图片加载失败。在这种情况下,想要通过点击一个Button重新加载。 Glide.with(context).load(url).placeholder(loa…

需求

假设此时已经用load指定一个url: String,又用into指定了一个img: ImageView开始加载,但是网络突然中断,导致图片加载失败。在这种情况下,想要通过点击一个Button重新加载。

Glide.with(context).load(url).placeholder(loadingBitmap).into(img) // 失败后将保持 loadingBitmap

分析1

自然的想法是直接添加一个按钮,在失败时重复执行加载过程:

button.setOnClickListener {Glide.with(context).load(url).placeholder(loadingBitmap).into(img) // 失败后将保持 loadingBitmap
}

但是这样做每次点击按钮都会重新执行一遍Glide的构建流程,浪费处理资源。

分析2

在Glide处理时增加一个监听器,只有onLoadFailed亦即加载失败时,才将按钮设为可点击,并且撤销之前的监听器。同时,为按钮增加一个监控变量,确保其只被点击了一次,避免重复加载(退化为分析1)。
代码比较复杂,这里略去不写。

分析3

实际上Glide自身存在控制资源重新加载的方式,即Target。因此,不需要任何重初始化,只要调用Target的相关函数刷新加载请求即可。

解决方案

分析3编写为一个简单的类如下。

class RequestReloadingButtonListener<T>(private val button: Button) : RequestListener<T> {var mTarget: Target<T>? = nullinit {button.apply { post {setOnClickListener { mTarget?.request?.apply {clear()		// 取消上次请求begin()		// 异步开始新请求} }} }}override fun onLoadFailed(e: GlideException?,model: Any?,target: Target<T>,isFirstResource: Boolean): Boolean {button.visibility = View.VISIBLE	// 显示重加载按钮mTarget = target					// 记录请求目标return false}override fun onResourceReady(resource: T & Any,model: Any,target: Target<T>?,dataSource: DataSource,isFirstResource: Boolean): Boolean {button.visibility = View.GONE		// 隐藏重加载按钮return false}
}

这样一来,通过如下代码即可实现加载失败时显示重加载按钮,用户点击后重新加载:

Glide.with(context).load(url).placeholder(loadingBitmap).addListener(RequestReloadingButtonListener(button)).into(img)
http://www.khdw.cn/news/11330.html

相关文章:

  • b2c的交易平台有哪些广东公司搜索seo哪家强
  • 昆明网站建设哪家便宜超级推荐的关键词怎么优化
  • 小说网站怎么做空间小app有哪些推广方式
  • javacms开源免费搜索引擎排名优化seo
  • 新潮狼网站建设seo搜索引擎优化薪酬
  • 济南专业网站托管公司龙网网络推广软件
  • 建设阿里巴巴网站推广策略及推广方式
  • 佟年给韩商言做的网站如何在百度上推广自己
  • 有没有做家居服设计师看的网站每日军事新闻
  • 网站建设实习心得湖南株洲疫情最新情况
  • 怎么自己设计装修效果图百度seo公司哪家最好
  • 如何做融资网站营销培训方案
  • 网站里面的链接怎么做友情链接发布网
  • 动漫网站源码自动采级域名解析ip138在线查询
  • 邵阳建设银行网站是多少百度seo推广计划类型包括
  • 学做网站什么都能搜的浏览器
  • 房产网站门户系统大连百度关键词排名
  • 网站开发费摊销多少年seo搜索引擎官网
  • 滁州58同城网站怎么做百度优化是什么意思
  • wordpress 站点维护杭州seook优屏网络
  • 苹果手机做mp4下载网站企业网络推广方式
  • 电商网站开发企业百度认证证书
  • 网站打开404错误怎么解决方法淘宝seo排名优化的方法
  • 卡当网站建设网络推广的目标
  • 企业网站建设要求怎样看网页的友情链接
  • 网站免费建站方法seo网站关键词排名提升
  • 做足球推荐网站能赚钱吗口碑营销的作用
  • html5网站代理谷歌搜索引擎入口2022
  • 网站建设服务合同 印花税网站百度收录要多久
  • 有源码做网站销售crm客户管理系统