解决办法:
1、设置一个Map集合,用于保存第一个listview中数据的选中与否状态,然后根据这个状态设置给checkbox的状态,这样就不会混乱了。
2、从数据源出发,在数据实体对象里(服务器没有返回判断的字段)加个字段判断!(简单高效)下面代码实现这个:
第一步:数据源添加字段字段
private boolean isSelect;
public boolean isSelect() {
return isSelect;
}
public void setSelect(boolean select) {
isSelect = select;
}
第二步:Adapter里操作
//多选地址
addressHolder.cbAddressUsername.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if (isChecked) {//被选择
datasBean.setSelect(true);
} else {
datasBean.setSelect(false);
}
}
});
//是否选择
addressHolder.cbAddressUsername.setChecked(datasBean.isSelect());
注意:上面的顺序别错了!
到此搞定!