package com.com.mr_wrong.RecycleViewAdapter;
import android.content.Context;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import java.util.List;
/**
* Created by Mr_Wrong on 15/8/19.
*/
public abstract class AutoRVAdapter extends RecyclerView.Adapter<RVHolder> {
public List<?> list;
private Context context;
public AutoRVAdapter(Context context, List<?> list) {
this.list = list;
this.context = context;
}
@Override
public RVHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view = LayoutInflater.from(context).inflate(onCreateViewLayoutID(viewType), null);
return new RVHolder(view);
}
public abstract int onCreateViewLayoutID(int viewType);
@Override
public void onViewRecycled(final RVHolder holder) {
super.onViewRecycled(holder);
}
@Override
public void onBindViewHolder(final RVHolder holder, final int position) {
onBindViewHolder(holder.getViewHolder(), position);
if (onItemClickListener != null) {
holder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
onItemClickListener.onItemClick(null, v, holder.getPosition(), holder.getItemId());
}
});
}
}
public abstract void onBindViewHolder(ViewHolder holder, int position);
@Override
public int getItemCount() {
return list.size();
}
private AdapterView.OnItemClickListener onItemClickListener;
public AdapterView.OnItemClickListener getOnItemClickListener() {
return onItemClickListener;
}
public void setOnItemClickListener(AdapterView.OnItemClickListener onItemClickListener) {
this.onItemClickListener = onItemClickListener;
}
}