androidlistView滑动停止后加载图片.doc

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
androidlistView滑动停止后加载图片

android listView滑动停止后加载图片 解决思路:添加listView的滚动监听事件,在listView滚动时使加载图片线程处于等待状态。当停止活动后,获得当前界面的listView的开始位置和结束位置。然后开启加载图片线程。 代码片段: public AsyncImageLoader imageLoader; //声明图片加载类的对象 在getView中添加listView滑动监听事件 public AbsListView.OnScrollListener onScrollListener = new AbsListView.OnScrollListener() { public void onScrollStateChanged(AbsListView view, int scrollState) { switch (scrollState) { case AbsListView.OnScrollListener.SCROLL_STATE_FLING: imageLoader.lock();//处于滚动状态锁定加载线程 break; case AbsListView.OnScrollListener.SCROLL_STATE_IDLE: int start = listView.getFirstVisiblePosition();//得到listView当前屏的开始位置 int end = listView.getLastVisiblePosition(); //得到结束位置 if (end = getCount()) { end = getCount() - 1; } imageLoader.setLoadLimit(start, end);//设置要加载图片的起始位置和结束位置 imageLoader.unlock();//解除锁定 break; case AbsListView.OnScrollListener.SCROLL_STATE_TOUCH_SCROLL: imageLoader.lock(); break; default: break; } } public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) { } }; getView中的图片加载代码: // 异步加载图片 imageLoader.loadDrawable(position, hotel.getHotelTitlePic(), new ImageCallback() { public void imageLoaded(Drawable imageDrawable, String imageUrl) { ImageView imageView = (ImageView) listView .findViewWithTag(imageUrl); if (imageView != null) { BitmapDrawable bd = (BitmapDrawable) imageDrawable; if (bd != null) { Bitmap bitmap = bd.getBitmap(); BitmapDrawable b = new BitmapDrawable( toRoundCorner(bitmap, 5)); ?//将图片转换为圆角,此处函数不便列出。 imageView.setImageDrawable(b); imageView.setTag(); if (bitmap != null !bitmap.isRecycled()) { bitmap.recycle(); } } } } }); listView绑定监听事件: ? ? listView.setOnScrollListener(onScrollListener); ?? 加载图片类: /** ?* 异步图片加载,加载item的小图片 ?* @author Administrator ?* ?*/ public class AsyncImageLoader { private static final String TAG = AsyncImageLoader; public boolean allow = true; private Object lock = new Object(); private int mStartLoadLimit; private int mStopLoadLimit; private boolean firstLoad = true; //缓存处理类 FileCache

文档评论(0)

dashewan + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档