package io.github.javiewer.adapter;
import android.support.v7.widget.RecyclerView;
import java.util.List;
/**
* Project: JAViewer
*/
public abstract class ItemAdapter<I, VH extends RecyclerView.ViewHolder> extends RecyclerView.Adapter<VH> {
private List<I> items;
public ItemAdapter(List<I> items) {
this.items = items;
}
public List<I> getItems() {
return items;
}
public void setItems(List<I> items) {
int size = this.getItems().size();
if (size > 0) {
this.getItems().clear();
notifyItemRangeRemoved(0, size);
}
this.getItems().addAll(items);
notifyItemRangeInserted(0, items.size());
}
@Override
public int getItemCount() {
return getItems().size();
}
@Override
public void onViewDetachedFromWindow(VH holder) {
holder.itemView.clearAnimation();
super.onViewDetachedFromWindow(holder);
}
}