在我的项目中,我需要禁用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正确的方式覆盖.