ListView中NetworkImageView是如何实现动态加载

来源:互联网 发布:淘宝黑搜索卡首页2017 编辑:程序博客网 时间:2024/06/18 00:16

volley中有一个NetworkImageView的类。这个类在父类detach的时候会自动取消网络请求,当父类重新活跃的时候会继续网络请求。


现象:现有一个listView,每个item中包含一张待从网络加载的图片,如果这个listView不能一下显示完全,那么listView只会先加载当前看得到的item中的网络图片。

原因是listView会detach一些看不到的item,这些item被detached以后,由于NetworkImageView的特性,网络请求取消了,而当前活跃的item继续发起网络请求,所以会看到如上现象。


所以使用NetworkImageView的时候即可不必当心请求生命周期的问题,它已由该类封装。需要做的只是设置一个ImageLoader:

NetworkImageView view = (NetworkImageView) findViewById(R.id.network_image_view);view.setImageUrl(url,new ImageLoader(mQueue, new BitmapCache()));

0 0