recycleview item 里面使用radiobutton或者checkbox的checkedchangelistener,然后再回调中又调用了notifydatasetchanged()方法
1,解决办法不用checkedChangelistener,用onclicklistener,用一个标记记录选中状态,在onbindviewholder()里面手动设置
2,
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if(!onBind) {
// your process when checkBox changed
// ...
notifyDataSetChanged();
}
}
...
@Override
public void onBindViewHolder(YourAdapter.ViewHolder viewHolder, int position) {
// process other views
// ...
onBind = true;
viewHolder.mCheckBox.setChecked(trueOrFalse);
onBind = false;
}