Kotlin中关于回调监听的使用

一般使用回调监听匿名内部类,可以这样写:

mOrderInfoAdapter?.setScrollItemListener { object : OrderInfoAdapter.ScrollItemListener {
    override fun getItemAdapterPosition(position: Int) {

    }

}}

为了像onClick监听一样,也可以直接简写,可以查看onClick代码实现传入lambda表达式

模仿写法:

fun setScrollItemListener(l:((Int)->Unit)?) {
    mScrollItemListener = object : ScrollItemListener{
        override fun getItemAdapterPosition(position: Int) {
            l?.invoke(position)
        }

    }
}

然后再就可以直接用了

mOrderInfoAdapter?.setScrollItemListener { position ->
    todo
}

这里面涉及到lambda表达式和高阶函数的知识,这里就不叙述了,大家自己网上去看。

猜你喜欢

转载自blog.csdn.net/wuqiqi1992/article/details/107667384