为什么80%的码农都做不了架构师?>>>   

关于Widget的介绍和用法可以看这两篇博文,写的非常详细了

Android 之窗口小部件详解--App Widget http://www.cnblogs.com/skywang12345/p/3158310.html

Android 之窗口小部件高级篇--App Widget 之 RemoteViews http://www.cnblogs.com/skywang12345/p/3264991.html

上面两篇博文没有提到怎么给Widget中的ListView或者GridView中显示网络图片,而我们的项目的需求中需要Widget中的ListView填充接口获得的文字和图片,试过很多方法最后发现还是以下这种伪同步比较让人满意。

        private Map<Integer, Boolean> flags = Collections.synchronizedMap(new HashMap<Integer, Boolean>());private Bitmap mBitmap;private Handler handler = new Handler(Looper.getMainLooper());@Overridepublic RemoteViews getViewAt(final int position) { //这里初始化RemoteView,设置监听,等等....flags.put(position, false);handler.post(new Runnable() {@Overridepublic void run() {//这里用了ImageLoader,或者别的带有加载回调加载库ImageLoader.getInstance().loadImage(datas.get(position).getImgUrl, new SimpleImageLoadingListener() {@Overridepublic void onLoadingStarted(String imageUri, View view) {}@Overridepublic void onLoadingFailed(String imageUri, View view, FailReason failReason) {flags.put(position, true);}@Overridepublic void onLoadingCancelled(String imageUri, View view) {flags.put(position, true);}@Overridepublic void onLoadingComplete(String arg0, View arg1, Bitmap bitmap) {mBitmap = bitmap;flags.put(position, true);}});}});//在此一直等待获取到网络图片while (!flags.get(position)) {try {Thread.sleep(2000);} catch (InterruptedException e) {e.printStackTrace();}}flags.put(position, false);if (mBitmap != null) {mRemoteViews.setImageViewBitmap(R.id.widget_item_image, mBitmap);} else {mRemoteViews.setImageViewResource(R.id.widget_item_image, R.mipmap.ic_launcher);}mBitmap = null;return mRemoteViews;}

转载于:https://my.oschina.net/yaly/blog/674642

Android Widget 中ListView加载网络图片相关推荐

  1. android webview加载不出来,【新手有关问题】Android浏览器中WebView加载不出网页

    当前位置:我的异常网» Android » [新手有关问题]Android浏览器中WebView加载不出网 [新手有关问题]Android浏览器中WebView加载不出网页 www.myexcepti ...

  2. 【Flutter进阶】 Web开发中如何加载网络图片

    目录 前言 如何加载网络图片 列表中的网络图片 HTML renderer和CanvasKit 文本无法选择 Shadow Root问题 为什么找不到节点? Shadow Dom 问题解决 Flutt ...

  3. Flutter中ListView加载图片数据的优化

    题记 -- 执剑天涯,从你的点滴积累开始,所及之处,必精益求精,即是折腾每一天. ** 你可能需要 CSDN 网易云课堂教程 掘金 EDU学院教程 知乎 Flutter系列文章 在使用ListView ...

  4. Android使用ImageLoader异步加载网络图片(一)读取单张图片

    这里我写的是读取单张的图片从网络读取,和listview多张图片的读取首先是单张的读取这篇博客只写了读取单张的读取多张的下一篇写 此例子的代码 已上传资源页 由于昨天时间比较紧所以,这个Demo 的源 ...

  5. Android使用Glide框架加载网络图片(解决无报错图片不显示问题)

    清单文件中添加访问网络权限并防止图片不显示 activity加载自己云服务器网页图片 package com.example.app3;import androidx.appcompat.app.Ap ...

  6. android Gallery实现异步加载网络图片

    之前在网上找了很多都没有这方面的资料,大概的效果是当Gallery滑动时不下载图片,当Gallery滑动停止时加载当前页面图片,自己花了一点时间大概的实现了,如果各位有更好的意见欢迎说出来大家一起学习 ...

  7. android 排行榜中异步加载头像图片

    排行榜用的是RecyclerView显示,适配器使用BaseQuickAdapter,效果如下 1.RecycylerView适配器的使用 先引入依赖,然后新建类RegionList2Adapter继 ...

  8. ListView加载网络图片--------闪图问题解决

    ListView解决网络图片闪图问题 闪图问题根本原因是网络图片还没缓存下来就呈现,出现异步错误. 解决的方法也就是让网络图片先缓存下来,然后再呈现出来 一种方法是导入一个SmartImageView ...

  9. android加载字体文件路径,android webView中未加载资源字体

    >首先,字体路径应该与您的HTML / CSS文件相关. 所以,而不是这个: @font-face { font-family: 'Persian'; src: url('file:///and ...

最新文章

  1. Ubuntu 16.04 LTS 常用工具软件整理(陆续更新)
  2. linux amd显卡下载,下载:AMD显卡Linux催化剂驱动9.10版
  3. Android之关于图表
  4. python数据可视化库 动态的_Python数据可视化:Pandas库,只要一行代码就能实现...
  5. 全国青少年软件编程python等级考试-全国青少年软件编程等级考试:Python一级考试大纲...
  6. 在Linux上安装Python 3
  7. 【Windows工具】QuickLook-3.6.11 安装并设置开机自启动(含较难下载的 QuickLook-3.6.11 安装包百度云盘资源)
  8. 编程使用资源文件实现多语言页面(In Action)
  9. 用计算机画好看的图形,如何画一手漂亮的电脑效果图?技巧案例赏析!
  10. 作者:孙卫强(1976-),男,博士,上海交通大学教授、博士生导师,主要研究方向为大数据网络、信息通信网等。...
  11. Wannafly2016-12-27 SPOJ-INTSUB 数学
  12. 计算机注销之后一直黑屏,win7系统注销出现黑屏怎么办_win7系统注销出现黑屏的修复办法...
  13. c++interesting转换为uint_巴西插头标准,旅行转换插头是怎样的?
  14. (中医) 我的中医实践之路-开篇
  15. 什么才是成熟的爱——爱的四个层次
  16. 插值拟合模型 之 Hermite插值、三次样条插值
  17. 深度好文|面试官:进程和线程,我只问这19个问题
  18. OCR--苹果ios安卓android身份证拍照扫描识别sdk
  19. 给定一个N*N的矩阵matrix,只有0和1两种值,返回边框全是1的最大正方形的边长长度。
  20. C语言:调整数组顺序使其奇数位于偶数前面

热门文章

  1. oracle服务器错误,oracle 11g数据库维护中错误总结
  2. python utf-8编码转换中文_python实现unicode转中文及转换默认编码的方法
  3. Windows:系统环境变量配置提示系统环境变量太大的问题三种解决方案亲测可用
  4. 深蓝学院《从零开始手写VIO》作业五
  5. 【AI初识境】给深度学习新手做项目的10个建议
  6. 全球及中国交联的高密度聚乙烯行业投资应用与供应需求规模分析报告2022版
  7. 全球及中国生物降解塑料行业应用需求前景及竞争态势研究报告2021版
  8. Application Desktop Toolbars 桌面工具栏
  9. 道县谋定农业创新-李加映:中国农民丰收节交易会产业化
  10. Go 面向对象三大特性