android listview 只加载显示的图片大小,android ListView只加载当前屏幕显示的图片(解决List滑动时加载卡顿)...

本文针对ListView快速滑动因加载图片卡顿的问题,提出只加载当前屏幕显示Item图片的解决办法。通过设置ListView的滚动监听器,在列表停止滚动时加载图片,并设置当前屏幕显示的起始和结束索引,还给出了相应的代码实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

之前写过一个关于ListView异步加载网络图片的文章:http://blog.sina.com.cn/s/blog_7033e38201010req.html,但是使用时发现如果快速滑动List,因为正在加载图片,会有点卡。这时我们就希望能够只加载当前屏幕显示的Item的图片。本文引用地址:http://www.eepw.com.cn/article/201809/388380.htm

废话不多少,直接粘贴代码:

listView.setOnScrollListener(new OnScrollListener() {

@Override

public void onScrollStateChanged(AbsListView view, int scrollState) {

// TODO Auto-generated method stub

// 异步加载图片

if (scrollState == OnScrollListener.SCROLL_STATE_IDLE) {//list停止滚动时加载图片

pageImgLoad(_start_index, _end_index);

}

}

@Override

public void onScroll(AbsListView view, int firstVisibleItem,

int visibleItemCount, int totalItemCount) {

// TODO Auto-generated method stub

//设置当前屏幕显示的起始index和结束index

_start_index = firstVisibleItem;

_end_index = firstVisibleItem + visibleItemCount;

if (_end_index >= totalItemCount) {

_end_index = totalItemCount - 1;

}

}

});

private void pageImgLoad(int start_index, int end_index) {

for (; start_index end_index; start_index++) {

HashMap

if (curr_item.get(Constant.NEWS_ICON_URL) != null

curr_item.get(Constant.NEWS_ICON) == null) {

loadImage(curr_item);

}

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值