处理RecyclerView的点击事项

之前作者只是建立了不能响应点击事件的RecyclerView,然而需要实现RecyclerView的点击事件,就需要建立一个接口(在适配器中)。

之前操作的链接
http://blog.csdn.net/maokai1229/article/details/72123600
因为在适配器的ViweHolder中,会有许多Item的新建,而把item看成一个按钮,就需要事先实现按钮的接口(这里不需要考虑在Item的布局文件中声明onClick,因为设立涉及多个按钮响应)

1.在适配器中建立一个接口

  public interface ListItemClickListener {
        void onListItemClick(int id);
    }

2.声明接口 ,这个接口并不在适配器中实现,而是在Activity中,声明接口是为了在构造方法中传入。

 public GreenAdapter(int numberOfItems, ListItemClickListener mOnClickListener) {
        mNumberItems = numberOfItems;
        this.mOnClickListener=mOnClickListener;

        viewHolderCount = 0;
    }

3.在ViewHolder中引入onClickListener接口 ,在这里的position就相当于控件的ID。

        @Override
        public void onClick(View view) {
            int position = getAdapterPosition();//获取用户点击的item的位置
            mOnClickListener.onListItemClick(position);
        }

4最后在Activity中实现点击事件的具体逻辑。

 @Override
    public void onListItemClick(int id){
        if(mToast!=null){
            mToast.cancel();
        }//防止Toast在队列中等待,出现消息提示滞后的情况
        String show="Item :"+id+"was clicked";
        mToast=Toast.makeText(this,show,Toast.LENGTH_LONG);
        mToast.show();
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值