一般使用回调监听匿名内部类,可以这样写:
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表达式和高阶函数的知识,这里就不叙述了,大家自己网上去看。