package org.cuieney.videolife.common.base;
/**
* Created by cuieney on 16/3/9.
*/
import android.content.Context;
import android.graphics.Bitmap;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
public abstract class BaseRecycerViewAdapter<T,V extends RecyclerView.ViewHolder> extends RecyclerView.Adapter<V> {
protected OnItemClickListener mClickListener;
public static Context context;
public List<T> list;
public LayoutInflater inflater;
public BaseRecycerViewAdapter(Context context, List<T> list) {
this.context = context;
this.list = new ArrayList<>();
this.addAll(list);
inflater = LayoutInflater.from(context);
}
public void setOnItemClickListener(OnItemClickListener itemClickListener) {
this.mClickListener = itemClickListener;
}
public BaseRecycerViewAdapter(Context context) {
this(context,null);
}
@Override
public V onCreateViewHolder(ViewGroup parent, int viewType) {
return getCreateViewHolder(parent, viewType);
}
@Override
public void onBindViewHolder(V holder, int position) {
getBindViewHolder(holder, position);
}
public abstract V getCreateViewHolder(ViewGroup parent, int viewType);
public abstract void getBindViewHolder(V holder, int position);
public void addAll(Collection<? extends T> collection) {
addAll(list.size(), collection);
}
public void addAll(int position, Collection<? extends T> collection) {
list.addAll(position, collection);
notifyItemRangeInserted(position, collection.size());
}
public void clear() {
list.clear();
notifyDataSetChanged();
}
@Override
public int getItemCount() {
return list.size();
}
public interface OnItemClickListener {
void onItemClick(int position, View view, RecyclerView.ViewHolder vh);
}
}