关于Listview的Item被移出屏幕后不被销毁的思路提供

如题, 其实我现在也没有好的办法, 写下这篇博客一个是希望有人在评论区给提供更好的解决办法, 另一个是给同样要实现此功能的人提供一个最基础的思路.
最近在做一个列表中有文件下载, 实时显示进度条的功能, 本来是用的Recyclerview显示的, 但是复用导致的错位的问题总在发生, 于是改成了Listview来实现, 用不复用Item的写法来实现, 错位的问题是解决了, 但是有一个新的问题出现了 – 一个正在下载的item被移出的屏幕外, 再拉回来的时候, 进度条就消失了. 想了半天, 最后觉得原因是在listview在item移出屏幕可视范围外的时候, 就将其销毁了, 再重新显示的时候是重新创建的item, 之前的进度条是被销毁的item上所显示的, 新的item上目前没有经过任何逻辑交互.
然后就开始想解决思路, 打算找个方法让listview不销毁移出屏幕外的item, 有可能是我文章找得不够多, 也有可能是我的搜索关键词没用对, 也可能是压根就没有这么个方法. 总之, 我没有找到这样的方法.

最后报着试试看的心态, 也不打算用listview了, 用最原始的方式, Scrollview里套一个LinearLayout, 再把item的布局封装成一个控件, 再遍历数据集合, 调用LinearLayout的addview方法, 将控件添加进去. 刷新数据时先调用LinearLayout的removeAllViews()方法后再添加控件.

如果不作性能方面的比较的话, 显示效果和ListView/RecyclerView都一样, 应该能满足大多数的同类显示需求.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值