RecyclerView 线性适配器和item点击监听

来源:互联网 发布:数据可视化分析 编辑:程序博客网 时间:2024/06/05 08:03
'com.android.support:recyclerview-v7:21.0.0' 依赖/** * 1.类的用途 * 2.@author 巩雨松 * 3.@date 2017/9/18 09:09 */public class Rvadapter extends RecyclerView.Adapter<Rvadapter.MyHolder> {    private List<Bean> data;    private Context context;    // item条目布局注入器    private LayoutInflater mInflater;    // 申明一个点击事件接口变量    private OnItemClickCallback callback = null;    public Rvadapter(List<Bean> data, Context context,OnItemClickCallback callback) {        this.data = data;        this.context = context;        this.mInflater =LayoutInflater.from(context);        this.callback = callback;    }    public interface OnItemClickCallback {        // 点击事件        void onClick(View view , int i);        // 长按事件        void onLongClick(View view , int i);    }    @Override    public MyHolder onCreateViewHolder(ViewGroup parent, int viewType) {        View view = View.inflate(context, R.layout.rv_adapter, null);        MyHolder myHolder = new MyHolder(view);        return myHolder;    }    @Override    public void onBindViewHolder(MyHolder holder, final int position) {        //holder.img.setImageResource(data.get(position).getImg());        BitmapUtils utils = new BitmapUtils(context);        utils.display(holder.img, data.get(position).getImg());        holder.title.setText(data.get(position).getTitle());        holder.itemView.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View view) {                callback.onClick(view,position);            }        });        holder.itemView.setOnLongClickListener(new View.OnLongClickListener() {            @Override            public boolean onLongClick(View view) {                callback.onLongClick(view,position);                return true;            }        });    }    @Override    public int getItemCount() {        return data.size();    }    public class MyHolder extends RecyclerView.ViewHolder {        private TextView title;        private ImageView img;        public MyHolder(View view) {            super(view);            img = view.findViewById(R.id.img1);            title = view.findViewById(R.id.title1);        }    }}
原创粉丝点击