列表复用产生的一些小问题及其解决方案

探讨了RecyclerView在数据源设置时因if判断不当导致的UI布局错乱、数据显示不正确及滑动卡顿等问题,强调了if与else配对的重要性,并讨论了如何处理数据字段为空的情况,避免APP崩溃。

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

一.列表复用可能出现的问题有哪些?

1.UI布局错乱

2.数据显示不正确 

3.滑动卡顿

1.问题描述和分析:

RecyclerView设置数据源时加入了if判断,导致item重用时,没有进入if判断.继续复用原来设置的UI属性.

举个例子:

看到红框框了吧 :满减券 或者代金券 

看实例代码:

if  满足条件 1 设置为 代金券  else 满减券

一定要 if 和 else 成对出现!!! 否则就会有复用问题,显示不正确。

 

2.在写列表的过程中还想到一个问题:

在后台返回的数据集合中

如果某一条数据的某一个字段是,就要隐藏这个控件

举个列子 :

后台返回了10条数据。假设第五条的 某个字段的值是空,就要隐藏代金券这个控件

 

3.在后期维护中,列表中某一个字段,后台没有返回了,返回null 

那么很可能你的APP就会崩溃

然后这时候你就会想 

那么判断是不是为nul保护一下就好了

为null直接返回好了 

然后你会发现 会有问题的,这是一开始写列表经常犯得错误

因为return 直接返回了 

下面的代码都不执行了

所以就会有显示错误

这样的话 逻辑要稍微改一下

如果为null 的 话 就吧这个控件影藏  不要写return 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值