ListView只加载当前屏幕内的图片(解决list滑动时加载卡顿)
2012-03-28 16:31
357 查看
这几天测试时发现了些可以改进的地方。
之前的方法确实能很有效的解决 :listview加载下一页时 因为图片较多异步加载的卡顿问题。
但是,发现在用手拖动ListView的时候,滚动出的item中的图片是不加载的。
原因是在onScrollStateChanged方法中监听,只能监听滚动状态的改变(拖动时它只执行一次),而在用手一直拖动时,系统是不回调onScrollStateChanged方法的,其中加载图片的方法自然是不会执行的!
为了让拖动列表时显示出来的item也加载图片,所以我添加了setOnTouchListener监听,便可完美解决这个问题:
Java代码
/**
* list 触摸监听
*/
_listView.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
// TODO Auto-generated method stub
if(event.getAction() == MotionEvent.ACTION_MOVE&&_scrollState!=OnScrollListener.SCROLL_STATE_FLING){
//这里加入加载图片的方法 和setOnScrollListener监听中的方法一样即可
}
return false;
}
});
之前的方法确实能很有效的解决 :listview加载下一页时 因为图片较多异步加载的卡顿问题。
但是,发现在用手拖动ListView的时候,滚动出的item中的图片是不加载的。
原因是在onScrollStateChanged方法中监听,只能监听滚动状态的改变(拖动时它只执行一次),而在用手一直拖动时,系统是不回调onScrollStateChanged方法的,其中加载图片的方法自然是不会执行的!
为了让拖动列表时显示出来的item也加载图片,所以我添加了setOnTouchListener监听,便可完美解决这个问题:
Java代码
/**
* list 触摸监听
*/
_listView.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
// TODO Auto-generated method stub
if(event.getAction() == MotionEvent.ACTION_MOVE&&_scrollState!=OnScrollListener.SCROLL_STATE_FLING){
//这里加入加载图片的方法 和setOnScrollListener监听中的方法一样即可
}
return false;
}
});
/** * list 触摸监听 */ _listView.setOnTouchListener(new OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { // TODO Auto-generated method stub if(event.getAction() == MotionEvent.ACTION_MOVE&&_scrollState!=OnScrollListener.SCROLL_STATE_FLING){ //这里加入加载图片的方法 和setOnScrollListener监听中的方法一样即可 } return false; } });要注意的是
当你的onTouchListener返回true时,那么touch事件就被拦截了,代表你自己处理了。onListItemClick变不会执行!! 返回false的话,就不会影响。 |
相关文章推荐
- Android ListView只加载当前屏幕内的图片(解决list滑动时加载卡顿)
- Android ListView只加载当前屏幕内的图片(解决list滑动时加载卡顿)
- Android ListView只加载当前屏幕内的图片(解决list滑动时加载卡顿)
- Android ListView只加载当前屏幕内的图片(解决list滑动时加载卡顿)
- Android ListView只加载当前屏幕内的图片(解决list滑动时加载卡顿)
- 【BUG解决】Android ListView只加载当前屏幕内的图片(解决list滑动时加载卡顿)
- 解决listview中imageloder中加载图片滑动卡顿
- Listview异步加载缓存图片,解决快速滑动问题
- 解决ListView滑动时卡的问题,实现异步加载图片解决 .
- Listview异步加载缓存图片,解决快速滑动问题
- Listview异步加载缓存图片,解决快速滑动问题
- 解决ListView滑动时卡的问题,实现异步加载图片解决
- ListView滚动时加载图片(只加载当前屏幕图片)
- 解决ListView滑动时卡的问题,实现异步加载图片解决
- ListView滚动时加载图片(只加载当前屏幕图片)
- ListView滚动时加载图片(只加载当前屏幕图片)
- ListView优化使用imageLoader下载和缓存图片,图片异步加载,解决图片多了之后容易卡顿。
- Listview 异步加载图片 快速滑动发生图片错误的解决办法 复用convertview
- ListView卡顿优化过程,并解决与viewpager图片加载冲突的问题
- 解决ListView滑动时卡的问题,实现异步加载图片解决