RecyclerView删除选中条目(多选单选),解决删除坐标错
2019-12-02 本文已影响0人
为自己代颜_
kotlin代码如下:
···
// 删除选中图片或视频
iv_preview_delete?.setOnClickListener {
var i = 0
var len = beans.size
while (i < len) {
if (beans.get(i).isChecked) {
//----------------------
adapter?.notifyItemRemoved(i)
beans.removeAt(i)
mViewInfoList.removeAt(i)
len--
i--
adapter?.notifyItemRangeChanged(0, mViewInfoList?.size) //第一个是位置,第二个是数量
}
i++
}
}
···
Java代码如下:
···
iv_preview_delete.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
//因为remove某一条后,列表的position并没有刷新,
//所以remove后,要根据remove的那一条的position来notifyItemRangeChanged
for (int i = 0, len = datas.size(); i < len; i++) {
if (datas.get(i).isChecked()) {
//----------------------
notifyItemRemoved(i);
datas.remove(i);
len--;
i--;
notifyItemRangeChanged(0, getItemCount()); //第一个是位置,第二个是数量
//---------------------
}
}
}
});
···