在RecycleView或XRecycleView中添加点击事件

由于RecycleView中没有点击事件,所以还要手动添加,今天给大家写一下在XRecycleView或RecycleView中添加点击事件

天加点击事件要用到接口回调,所以,还是要吧接口回调给学好啊,用的地方还是挺多的。

首先,说一下理论吧,在展示完数据之后,在适配器中,设置一个内部接口,手动添加点击事件,添加接口的构造方法,在ManActivity中调用,这个就类似于就扣回调了

接下来说一说代码:

// 设置点击事件的接口,利用接口回调,来完成点击事件
    public interface OnItemClickLitener {
        void onItemClick(View view, int position);

        void onItemLongClick(View view, int position);
    }

    private OnItemClickLitener mOnItemClickLitener;

    public void setOnItemClickLitener(OnItemClickLitener mOnItemClickLitener) {
        this.mOnItemClickLitener = mOnItemClickLitener;
    }

在onBindViewHolder放发中:

holder.itemView.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                int pos = holder.getLayoutPosition();
                mOnItemClickLitener.onItemClick(holder.itemView, pos);
            }
        });

        holder.itemView.setOnLongClickListener(new View.OnLongClickListener() {
            @Override
            public boolean onLongClick(View v) {
                int pos = holder.getLayoutPosition();
                mOnItemClickLitener.onItemLongClick(holder.itemView, pos);
                return false;
            }
        });
点击事件在这里就写完了,接下来在主函数中调用就可以了:

adapter = new HomeAdapter(list,MainActivity.this);
        adapter.setOnItemClickLitener(new HomeAdapter.OnItemClickLitener() {
            @Override
            public void onItemClick(View view, int position) {
                Toast.makeText(MainActivity.this, position+"点击", Toast.LENGTH_SHORT).show();
            }

            @Override
            public void onItemLongClick(View view, int position) {
                Toast.makeText(MainActivity.this, position+"长安", Toast.LENGTH_SHORT).show();
            }
        });
        xRecyclerView.setAdapter(adapter);
在调用时,要注意在初始化适配器之后添加点击事件,否则数据不会显示的。

谢谢~~~~~



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值