为什么当我在适配器中调用编辑项目时,我的Recyclerview项目会被克隆?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为什么当我在适配器中调用编辑项目时,我的Recyclerview项目会被克隆?相关的知识,希望对你有一定的参考价值。

public void editMessage(Message editedMessage,int position) {
    this.messagesItemList.set(position, new AdapterItem(editedMessage));
    notifyItemChanged(position);
    notifyItemRangeChanged(position, messagesItemList.size());
}

@Override
public void onChildChanged(@NonNull DataSnapshot dataSnapshot, @Nullable String s) {
    Message message = dataSnapshot.getValue(Message.class);
    messageAdapter.editMessage(message, messageAdapter.getItemCount() - 1);
    //messageAdapter.change(messageAdapter.getMessagesCount() - 1);
}

当我试图调用编辑消息时,我的RecyclerView克隆了项目。

enter image description here

答案

问题出在一行

h.setIsRecyclable(false);

以上是关于为什么当我在适配器中调用编辑项目时,我的Recyclerview项目会被克隆?的主要内容,如果未能解决你的问题,请参考以下文章

单击按钮后,Recyclerview适配器中的项目会跳转到右侧

为啥我在编辑发票时看不到我的发票项目?

在Android中滚动recyclelerview时,Edittext值消失

从 Fragment 中的适配器(recyclerview)获取所有项目

NotifyDataSetChanged在不同的片段上

从适配器中的片段调用元素