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
    }
相关推荐
深入云栈4 小时前
CompleteFuture VS CompletableFuture:Netty 为何自研 Future
java·架构
OPEN-F4 小时前
C++综合实战:面向对象图书管理系统
开发语言·c++
ttwuai5 小时前
Go 后台清空操作日志失败,权限和无 WHERE 删除怎么排查?
开发语言·后端·golang
choumou_M5 小时前
SpringBoot_7:用户资源的上传与修改
java·spring boot·后端
西西弗Sisyphus5 小时前
Qt 在无边框窗口上做一套换肤系统
开发语言·数据库·qt
西西弗Sisyphus5 小时前
Qt 启动 UsageStatistic 插件报错
开发语言·qt
NeoGressAI外贸数字化5 小时前
外贸独立站零询盘排查:从 Google Search Console 到 PageSpeed 的技术实操
开发语言·c++
无小道5 小时前
C/C++——异步编程小记
开发语言·c++·c++11
奇树谦5 小时前
Pimpl 模式(d-pointer)详解:如何解决 C++ 头文件过大、编译依赖和 ABI 兼容问题
开发语言·c++
user_admin_god5 小时前
一体化数据归集接口详细设计说明
java·大数据·spring boot·后端·spring