Kotlin 代替Java接口回调,就这么简单

假如你使用旧的接口回调:

通常三步:1 定义接口和方法;2 使用接口中方法;3 继承接口并实现方法;

例:

class XXXAdapter{
    public var mClickCollBack: clickCollBack?= null   //1定义
    interface  clickCollBack {                        //1定义
        fun click(int: Int)                           //1定义
    }
   
         itemView.setOnClickListener {
                mClickCollBack?.click(position)  //2使用
         }
}

   实现:

    adapter.mClickCollBack = object : XXXAdapter.clickCollBack {
            override fun click(int: Int) {
                 //做你的事
            }
    }

使用Kotlin呢?   

也是三步:

1定义参数方法  2 直接调用  3直接实现

class XXXAdapter(var click:(int: Int) -> Unit){
    
   
         itemView.setOnClickListener {
                click(position)  //2使用
         }

}
    adapter.click{
        // it 直接表示上级传下来的position
    }

你可能感兴趣的:(Android,#,Kotlin,java,kotlin,开发语言)