当前位置: 代码迷 >> Android >> 关于Android4.0以上的ListView显示从网络上获取图片和文字
  详细解决方案

关于Android4.0以上的ListView显示从网络上获取图片和文字

热度:88   发布时间:2016-04-28 01:25:17.0
关于Android4.0之上的ListView显示从网络上获取图片和文字
最进在做一个demo,然后使用到ListView,发现了一些问题。是这样的,我的最低版本是Android4.0,我在ListView中,显示从网络获取来的Image和Text,然后问题来了,由于不能在主线程中访问网络,我首先需要从网络下载数据,下载完成之后,在把数据显示出来,可是下载图片的时候是一个图片的网络资源路径,需要在自定义的Adapter中再去获取。但是这时候ListView绑定适配器已经不再主线程当中而是在第一次下载数据的线程中,假如我这时候在适配器里面使用一条新的线程去完成图片的真正下载,然后使用Handler去更新界面,可是它更新的是ListView的ImageView,而这个ImageView不再UI线程中,这应该怎么办?
------解决思路----------------------
多线程下载图片,同时做好内存缓存和硬盘缓存
当然,这个要求你掌握比较多的知识点和开发经验
最好是来我们公司实习一段时间,这样你就全都懂了

------解决思路----------------------

1, 数据获取:
        在第一次加载网络数据时是异步线程,加载完毕后会将数据载入适配器。这时第一个步骤完毕。
 2,适配器加载:
        在适配器的getview方法中启动异步线程下载图片,将imageview作为参数传入,并已url作为该imageview的tag值作为标记;
        当该异步线程图片下载完毕后使用Handler机制来更新imageview显示图片,同事对tag值进行校验。这时第二个步骤完毕。
        此时页面已更新数据和图片了。
  相关解决方案