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
    }
相关推荐
m0_736919101 分钟前
C++中的委托构造函数
开发语言·c++·算法
lsx20240615 分钟前
Python3 SMTP发送邮件教程
开发语言
callJJ15 分钟前
Spring AI 文本聊天模型完全指南:ChatModel 与 ChatClient
java·大数据·人工智能·spring·spring ai·聊天模型
CBeann16 分钟前
企业级规则引擎落地实战:动态脚本引擎 QLExpress ,真香!
java·ai·大模型·规则引擎·qlexpress·大厂实战项目
懈尘16 分钟前
从 Java 1.7 到 Java 21:逐版本深入解析新特性与平台演进
java·开发语言
亓才孓17 分钟前
[Maven]Maven基础
java·maven
凉辰19 分钟前
使用uni.createInnerAudioContext()播放指定音频(踩坑分享功能)
开发语言·javascript·音视频
hello 早上好21 分钟前
05_Java 类加载过程
java·开发语言
PPPPPaPeR.33 分钟前
光学算法实战:深度解析镜片厚度对前后表面折射/反射的影响(纯Python实现)
开发语言·python·数码相机·算法
echoVic34 分钟前
多模型支持的架构设计:如何集成 10+ AI 模型
java·javascript