使用recyclerview侧滑删除item遇到的问题

nebofeng nebofeng 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
主要代码如下:
recyclerView.setAdapter(new mRecyclerViewAdapter(datas));
class mRecyclerViewAdapter extends RecyclerView.Adapter<ViewHolder>
implements View.OnClickListener {
public ArrayList datas=null;
public mRecyclerViewAdapter(ArrayList datas){
this.datas=datas;
}
@Override
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_showcollections,parent,false);
ViewHolder vh = new ViewHolder(view);
return vh;
}

@Override
public void onBindViewHolder(ViewHolder holder, int position) {


holder.tv_delete.setTag(position);

//设置监听事件
holder.tv_delete.setOnClickListener(this);

}

@Override
public int getItemCount() {
return datas.size();
}
@Override
public void onClick(View v) {
int flag= (int) v.getTag();
switch (v.getId()){

case R.id.tv_delete:

//TODO:删除这个item,删除本地数据,网络数据

datas.remove(flag);
notifyItemRemoved(flag);
LogUtils.e("positon",flag+"============"+ datas.size()+"====================》");
break;

default:
break;
}
}
}
出现的问题是:例如是20个item,从后往前删除,正常执行,可是从前几个开始往后删除,就会在删除一个之后,发生卡顿,
无法滑动 recyclerView,
1.是否是由于的处理点击事件,是在mRecyclerViewAdapter 中?
2.如果 新建对象mAdapter设置适配器 然后 mAdapter.notifyItemRemoved(flag); 与在类中直接调用notifyItemRemoved有什么区别吗?
...全文

相关推荐

评论 1
收藏 已收藏
分享
返回顶部
nebofeng
Android 80,490 成员 91,375 内容