现在的位置: 首页 > 综合 > 正文

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

2013年09月11日 ⁄ 综合 ⁄ 共 311字 ⁄ 字号 评论关闭

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

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

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

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

也会出现oom。

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

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

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

抱歉!评论已关闭.