首页 > 其他 > 详细

【原创】在Activity中设置RecyclerView的子控件监听

时间:2021-04-29 16:03:18      阅读:14      评论:0      收藏:0      [点我收藏+]

RecyclerView不能直接在Activity中获取item对象,需要通过委托模式,在适配中设置接口实现,具体步骤如下:

在Adapter中添加一个接口

    interface OnRecyclerViewItemClick<T>{
        fun onItemClick(view: View?, t: BluetoothDevice?, position: Int)
    }

然后在onBindViewHolder中对子控件进行监听

        holder.btnEnable.setOnClickListener {
            mOnRecyclerViewItemClick?.onItemClick(holder.btnEnable,device,position)
        }

这里以一个Button按键为例,同时还需要在adapter中申明一个接口对象

    var mOnRecyclerViewItemClick: OnRecyclerViewItemClick<String>? = null

最后在Acticity中通过适配器重写接口就可

    scanAdapter.mOnRecyclerViewItemClick = object :OnRecyclerViewItemClick<String> {
      override fun onItemClick(view: View?, t: BluetoothDevice?, position: Int) {
          when(view?.id){
              R.id.devEnable -> {
                  //TODO
                  }
              }
          }
      }
  }

【原创】在Activity中设置RecyclerView的子控件监听

原文:https://www.cnblogs.com/slf-L/p/14716674.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!