解決辦法:
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());
注意:上面的順序別錯了!
到此搞定!