美文网首页
基于Kotlin的RecyleView添加点击事件

基于Kotlin的RecyleView添加点击事件

作者: ZYiDa | 来源:发表于2019-10-15 11:48 被阅读0次

    我采用的是函数类型和lambda表达式的方式来获取和传递点击事件
    如下,在Adapter中

        override fun onBindViewHolder(holder: BaseViewHolder, position: Int) {
            super.onBindViewHolder(holder, position)
            val m = holder.getView<LinearLayout>(R.id.recyleview_linearLayout)
            m.setOnClickListener {
                OnRecyleViewLineItemClick?.invoke(position)
            }
            val o = holder.getView<ImageButton>(R.id.item_operation)
            o.setOnClickListener {
                OnRecyleViewOperationItemClick?.invoke(position)
            }
        }
    
        //整体点击事件
        var OnRecyleViewOperationItemClick:((position:Int)->Unit)? = null
        //指定操作按钮的点击事件
        var OnRecyleViewLineItemClick:((position:Int)->Unit)? = null
    

    具体的使用案例

            adapter.OnRecyleViewLineItemClick = {position: Int ->
                showMsg("OnRecyleViewLineItemClick:$position")
            }
            adapter.OnRecyleViewOperationItemClick = {position: Int ->
                showMsg("OnRecyleViewOperationItemClick:$position")
            }
    

    我是一个初学者,个人觉得这种方式比采用interface接口更为方便一些。

    相关文章

      网友评论

          本文标题:基于Kotlin的RecyleView添加点击事件

          本文链接:https://www.haomeiwen.com/subject/dzajmctx.html