小编Ken*_*nny的帖子

如何实现RecyclerView的ItemAnimator来禁用notifyItemChanged的动画

在我的项目中,我需要禁用RecyclerViewwhile 的"更改"动画notifyItemChanged.

我在源头调查RecyclerView并被覆盖android.support.v7.widget.DefaultItemAnimator如下:

private static  class ItemAnimator extends DefaultItemAnimator
{
    @Override
    public boolean animateChange(RecyclerView.ViewHolder oldHolder, RecyclerView.ViewHolder newHolder, int fromX, int fromY, int toX, int toY) {
        if(oldHolder != null)
        {
            oldHolder.itemView.setVisibility(View.INVISIBLE);
            dispatchChangeFinished(oldHolder, true);
        }

        if(newHolder != null)
        {
            dispatchChangeFinished(newHolder, false);
        }

        return false;
    }
}
Run Code Online (Sandbox Code Playgroud)

但我不确定我是否符合Google文档的规范: RecyclerView.ItemAnimator.animateChange

根据我的理解源代码,如果我没有正确覆盖方法,oldHolder 将不会被回收.

请帮我弄清楚如何以animateChange正确的方式覆盖.

animation android android-recyclerview

59
推荐指数
5
解决办法
4万
查看次数

标签 统计

android ×1

android-recyclerview ×1

animation ×1