package org.wikipedia.feed.view;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.view.ViewGroup;
import org.wikipedia.views.DefaultRecyclerAdapter;
import org.wikipedia.views.DefaultViewHolder;
import java.util.List;
public abstract class ListCardRecyclerAdapter<T>
extends DefaultRecyclerAdapter<T, ListCardItemView> {
public ListCardRecyclerAdapter(@NonNull List<T> items) {
super(items);
}
@Nullable protected abstract ListCardItemView.Callback callback();
@Override public DefaultViewHolder<ListCardItemView> onCreateViewHolder(ViewGroup parent,
int viewType) {
return new DefaultViewHolder<>(new ListCardItemView(parent.getContext()));
}
@Override public void onViewAttachedToWindow(DefaultViewHolder<ListCardItemView> holder) {
super.onViewAttachedToWindow(holder);
holder.getView().setCallback(callback());
}
@Override public void onViewDetachedFromWindow(DefaultViewHolder<ListCardItemView> holder) {
holder.getView().setCallback(null);
super.onViewDetachedFromWindow(holder);
}
}