@Override public boolean animateChange(RecyclerView.ViewHolder oldHolder, RecyclerView.ViewHolder newHolder, int fromX, int fromY, int toX, int toY) { if (oldHolder == newHolder && fromX == toX && fromY == toY) { // WORKAROUND: Skip animateChange() for the dropped item. Should be implemented better approach. dispatchChangeFinished(oldHolder, true); return false; } return super.animateChange(oldHolder, newHolder, fromX, fromY, toX, toY); } }