我想使用 position
从 onBindViewHolder
中的 RecyclerView
中删除项目。此位置参数是屏幕上可见 View 的位置,而不是 ArrayList
中项目的实际位置。如果我想从列表中的这个位置删除这个项目并将它移动到屏幕上实际上不可见的 ArrayList
的另一部分(我不知道 onBindViewHolder 位置)我实际上可以以某种方式更新它使用 notifyItemSetChanged()
列出,或者唯一正确的方法是调用 notifyDataSetChanged())
?
这有点复杂 RecyclerView
具有多个标题和项目变体(我在 Adapter 中使用 5 个 ViewHolder)。这个适配器的主要目的是改变项目的位置,每次都复制它们。它类似于联系人列表部分。
我的问题的简单表示:
最佳答案
正确的做法是
list.remove(position);
notifyItemRemoved(position);
list.add(newposition,item);
notifyItemInserted(newposition);
OnBindViewHolder
的位置是列表中项目的位置,这就是您填充 View 的方式
关于android - 从 RecyclerView 中移除项目并将其插入到另一个位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56608133/