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

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

通常三步: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
    }
相关推荐
minji...7 分钟前
C++ 详细讲解vector类
开发语言·c++
LiuYaoheng10 分钟前
【Android】View 的基础知识
android·java·笔记·学习
勇往直前plus18 分钟前
Sentinel微服务保护
java·spring boot·微服务·sentinel
星辰大海的精灵18 分钟前
SpringBoot与Quartz整合,实现订单自动取消功能
java·后端·算法
小鸡脚来咯21 分钟前
一个Java的main方法在JVM中的执行流程
java·开发语言·jvm
江团1io022 分钟前
深入解析三色标记算法
java·开发语言·jvm
天天摸鱼的java工程师30 分钟前
RestTemplate 如何优化连接池?—— 八年 Java 开发的踩坑与优化指南
java·后端
m0_7381207233 分钟前
CTFshow系列——PHP特性Web97-100
开发语言·安全·web安全·php·ctfshow
你我约定有三34 分钟前
java--泛型
java·开发语言·windows
杨杨杨大侠41 分钟前
第3章:实现基础事件总线
java·github·eventbus