package com.gojira.util;
import android.support.v7.widget.RecyclerView;
import android.view.ViewGroup;
import java.util.ArrayList;
import java.util.List;
/**
* @author Stratos Theodorou
* @version 1.0
* @since 10/06/2015
*/
public abstract class DataRecyclerAdapter<T, V extends RecyclerView.ViewHolder> extends RecyclerView.Adapter<V> {
private List<T> data;
public DataRecyclerAdapter() {
this.data = null;
}
public DataRecyclerAdapter(List<T> data) {
this.data = data;
}
public void addItem(T item) {
if (data == null) {
data = new ArrayList<>();
}
data.add(item);
notifyDataSetChanged();
}
public void setData(List<T> data) {
this.data = data;
notifyDataSetChanged();
}
public T getItem(int position) {
return data.get(position);
}
@Override
public int getItemCount() {
return data != null ? data.size() : 0;
}
public boolean isEmpty() {
return data != null && data.size() > 0;
}
@Override
public abstract V onCreateViewHolder(ViewGroup parent, int position);
@Override
public abstract void onBindViewHolder(V holder, int position);
}