假如你使用旧的接口回调:
通常三步:1 定义接口和方法;2 使用接口中方法;3 继承接口并实现方法;
例:
Kotlin
class XXXAdapter{
public var mClickCollBack: clickCollBack?= null //1定义
interface clickCollBack { //1定义
fun click(int: Int) //1定义
}
itemView.setOnClickListener {
mClickCollBack?.click(position) //2使用
}
}
实现:
Kotlin
adapter.mClickCollBack = object : XXXAdapter.clickCollBack {
override fun click(int: Int) {
//做你的事
}
}
使用Kotlin呢?
也是三步:
1定义抽象方法 2 直接调用 3直接实现
Kotlin
class XXXAdapter(var click:(int: Int) -> Unit){
itemView.setOnClickListener {
click(position) //2使用
}
}
Kotlin
adapter.click{
// it 直接表示上级传下来的position
}