处理RecyclerView的点击事项

原创 2017年05月19日 14:51:12

之前作者只是建立了不能响应点击事件的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();
    }
版权声明:通知博主后可转载

相关文章推荐

给RecyclerView的item添加点击监听事件

给recyclerView的item添加点击事件的监听我知道的有2种,一种是直接给item设置一个id,然后按照正常的流程在adapter里面给item添加方法setOnclickListener()...

通过接口回调方式来设置RecyclerView的条目点击监听事件

通过接口回调设置RecyclerView的条目点击监听提到RecyclerView大家总会那它与ListView想比较, RecyclerView是具有比ListView更具扩展性的控件, Recyc...

Recyclerview-点击的实现

Recyclerview 的点击事件需要我们自己定义,我就做了一个自己定义的一个点击事件,主要看红色部分,红色部分是我自己写的点击事件,然后定义好点击事件 我们就可以去调用实现了,直接看代码吧 ...
  • Star_Q
  • Star_Q
  • 2017年10月25日 20:22
  • 71

RecyclerView介绍(五)----实现点击效果以及动画

RecyclerView实现点击效果以及点击动画

RecyclerView原生的上拉加载与下拉刷新及点击监听事件

刷新和加载//刷新 srl.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() { @Overrid...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:处理RecyclerView的点击事项
举报原因:
原因补充:

(最多只允许输入30个字)