package com.airbnb.epoxy.sample; import android.support.annotation.NonNull; import android.support.v7.widget.DefaultItemAnimator; import android.support.v7.widget.RecyclerView.ViewHolder; import com.airbnb.epoxy.EpoxyModel; import com.airbnb.epoxy.EpoxyViewHolder; import com.airbnb.epoxy.sample.models.CarouselModelGroup; import java.util.List; public class SampleItemAnimator extends DefaultItemAnimator { @Override public boolean canReuseUpdatedViewHolder(@NonNull ViewHolder viewHolder, @NonNull List<Object> payloads) { EpoxyViewHolder epoxyViewHolder = (EpoxyViewHolder) viewHolder; EpoxyModel<?> model = epoxyViewHolder.getModel(); if (model instanceof CarouselModelGroup) { // We want to always reuse the carousel view so that item change animations in it work // smoothly return true; } return super.canReuseUpdatedViewHolder(viewHolder, payloads); } }