How to implement ItemAnimator of RecyclerView to disable the animation of notifyItemChanged
I have found the correct solution to just remove the animateChange.
It's very simple. Google has implemented the functionality.
((SimpleItemAnimator) RecyclerView.getItemAnimator()).setSupportsChangeAnimations(false);
Documentation: setSupportsChangeAnimations
I had the same problem. When calling notifyItemChanged there was a red overlay flashing. After experimenting around with your code I finally removed the default Animator by simply calling
recyclerView.setItemAnimator(null);
on the RecyclerView.
@Kenny answer didn't work anymore because google remove method setSupportsChangeAnimations()
(but why?) in support library 23.1.0.
In some case setChangeDuration(0)
can work as workaround.
@edit I suggest use something like that:
RecyclerView.ItemAnimator animator = recyclerView.getItemAnimator();
if (animator instanceof SimpleItemAnimator) {
((SimpleItemAnimator) animator).setSupportsChangeAnimations(false);
}