简单记录,listview中的动态销毁item时checkbox状态监听

本文介绍了解决二级列表中Checkbox状态丢失的问题。通过采用点击监听而非选中状态监听的方法,确保了Checkbox状态即使在Item移出屏幕后也能正确保存。

今天刚解决的一个issue,二级列表中包含checkbox,对其进行监听并记录状态。为避免内存泄漏,在getview()中进行了判断 

if(v==null){v=....;}

如果不判断当数据过多时会出现oom。哪怕你只是为每个item初始化一次,即

if(v==null||v.gettag(..)!=...){v=..};

也会出现oom。

问题,checkbox的选中状态会随着item移出屏幕而重新变为未选中状态。

为此,为checkbox添加setOnCheckedChangeListener来记录状态,当此checkbox随item移出屏幕后会出发此监听,记录状态不准确。

改为添加click监听,来记录状态。记录准确。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值