工作记录

本文探讨了在项目中遇到的ListView卡顿问题,并尝试了多种解决方案,包括使用Recyclerview替代ListView,采用Recyclerview嵌套Recyclerview的结构,最终通过在Recyclerview中加入headview并结合notifyItemRangeInserted方法实现了滑动流畅及局部刷新。

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

处理listview卡顿,优化

1.项目最先用Scollview 嵌套 listview ,因为需要大量加载下一页商品数据到listview
,每次调用 listview 的adapter 的notifydataChanged()会刷新列表所有的商品,导致到
页面出现卡顿情况,

2.后来改用Scollview 嵌套Recyclerview,发现卡顿情况没有改变,

3.换成NetScollview+Recyclerview,卡顿情况没有改变,而且打算调用 Recyclerview的
adapter的notifyItemRangeInserted 在加载下一页的时候进行局部刷新即可,但实际,无
法进行刷新数据,只能调用原来的notifyDataChanged进行刷新

4.问了一些朋友,建议使用 Recyclerview 嵌套Recyclerview去代替NetScollview 嵌套
RecyclerView,实际换了之后,卡顿情况得到解决,但是,因为商品列表在内层的
Recyclerview,所以,假如,加载下一页数据的时候,只调用内层Recyclerview的adapter
的notifyItemRangeInserted 是不能在界面实现数据刷新的情况的,假如调用外层的
Recyclerview的adapter的notifydataChanged,也是要整个商品列表都刷新,也没有达到局
部刷新的目的

5.最后,根据网上网友的意见,在Recyclerview加一个headview去加载Scollview上面的内
容,再在加载下一页数据的时候调用notifyItemRangeInserted 进行局部刷新,滑动卡顿
情况得到解决,局部刷新目的也达到了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值