【问题标题】:RecyclerView item animator problemsRecyclerView 项目动画师问题
【发布时间】:2015-12-15 17:33:52
【问题描述】:

我正在尝试从我的适配器 onBindViewHolder 中删除 RecyclerView 中的项目。 当我这样称呼时...

public void removeDropFromView(int position) {
    data.remove(position);
    notifyItemRemoved(position);
}

...我的动画显示了,但它不允许适配器位置更新(新位置 0 变为位置 1)。

当我这样称呼时...

public void removeDropFromView(int position) {
    data.remove(position);
    notifyItemRemoved(position);
    notifyDataSetChanged();
}

...该项目被删除,我所有项目的位置都更新了,但它完全跳过了动画。

有人说我的麻烦来自于在 onBindViewHolder 中无法实现,但我在 ViewHolder 的 onClick 中尝试了所有这些,结果相同。

如何在显示动画的同时保持所有数据的正确顺序?

感谢您的帮助!

【问题讨论】:

    标签: java android animation android-recyclerview


    【解决方案1】:

    在删除数据之前,获取它的viewholder,然后调用viewholder的setIsRecyclable(false)。检查this,第102行。它使用滑动删除。

    【讨论】: