package org.evilbinary.tv; 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.TextView; /** * 作者:evilbinary on 2/20/16. * 邮箱:[email protected] */ public class MyAdapter extends RecyclerView.Adapter<MyAdapter.ViewHolder> { // 数据集 private String[] mDataset; private Context mContex; private int id; private View.OnFocusChangeListener mOnFocusChangeListener; private OnBindListener onBindListener; public interface OnBindListener{ public void onBind(View view,int i); }; public MyAdapter(Context context, String[] dataset) { super(); mContex = context; mDataset = dataset; } public MyAdapter(Context context, String[] dataset,int id) { super(); mContex = context; mDataset = dataset; this.id=id; } public MyAdapter(Context context, String[] dataset,int id,View.OnFocusChangeListener onFocusChangeListener) { super(); mContex = context; mDataset = dataset; this.id=id; this.mOnFocusChangeListener=onFocusChangeListener; } public void setOnBindListener(OnBindListener onBindListener) { this.onBindListener = onBindListener; } @Override public ViewHolder onCreateViewHolder(ViewGroup viewGroup, int i) { int resId=R.layout.item; if(this.id>0){ resId=this.id; } View view = LayoutInflater.from(mContex).inflate(resId, viewGroup, false); ViewHolder holder = new ViewHolder(view); return holder; } @Override public void onBindViewHolder(ViewHolder viewHolder, int i) { viewHolder.mTextView.setText(mDataset[i]); viewHolder.itemView.setTag(i); viewHolder.itemView.setOnFocusChangeListener(mOnFocusChangeListener); if(onBindListener!=null){ onBindListener.onBind(viewHolder.itemView,i); } } @Override public int getItemCount() { return mDataset.length; } public class ViewHolder extends RecyclerView.ViewHolder { public TextView mTextView; public ViewHolder(View itemView) { super(itemView); mTextView = (TextView) itemView.findViewById(R.id.textView); } } public void setData(String[] data){ this.mDataset=data; } }