为了账号安全,请及时绑定邮箱和手机立即绑定

后面scrollview滚动停止加载的时候是不是可以不用这么麻烦

onscrollview停止的时候去加载图片是不是可以使用这种方法,代码保持与3-5课程结束时一致,只需把getview里面加载图片代码屏蔽,留下设置默认图片的方法。

然后onscrollview里面相关方法如下,也可以达到类似效果,逻辑更简单,代码简洁

@Override

public void onScrollStateChanged(AbsListView view, int scrollState) {

if (SCROLL_STATE_IDLE == scrollState) {

// 滚动结束加载图片

loadImage();

} else {

// 如果是其他状态则取消异步线程

for (AsyncTaskGetImage task : lAsyncTask) {

task.cancel(false);

}

}

}


@Override

public void onScroll(AbsListView view, int firstVisibleItem,

int visibleItemCount, int totalItemCount) {

mStart = firstVisibleItem;

mEnd = firstVisibleItem + visibleItemCount;


if (!isScrolled && visibleItemCount > 0) {

loadImage();

isScrolled = true;

}

}


private void loadImage() {

String url = "";

AsyncTaskGetImage task = null;


for (int i = mStart; i < mEnd; i++) {

url = lData.get(i).getPicSmall();

ImageView iv = (ImageView) lv.findViewWithTag(url);// 通过tag标记来获取imageView;

if (null == iv) {

continue;

}

task = mImageLoader.getImageByAsyncTask(iv, url);

if (null != task) {

lAsyncTask.add(task);// 保存打开的异步线程

}

}

}


正在回答

1 回答

嗯,这样也不错,但这样逻辑没有那个好。

1 回复 有任何疑惑可以回复我~
#1

凌伊 提问者

减少冗余嘛
2016-01-10 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Android必学-异步加载
  • 参与学习       50627    人
  • 解答问题       311    个

了解Android中的异步加载处理方法,这是面试问的最多的知识点

进入课程

后面scrollview滚动停止加载的时候是不是可以不用这么麻烦

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信