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

'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);
        }
    }


}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值