【发布时间】:2018-06-14 10:21:41
【问题描述】:
我正在将 Java 中的项目转换为 Kotlin,我很惊讶接口使 Kotlin 中的代码比 Java 中的代码更重。
示例: 我想在 MyFragment 的 MainActivity 中设置 onBackPressListener。
文件 1:MainActivity,文件 2:MyFragment,文件 3:OnBackPressedListener(接口)
Java 中的文件 1、Kotlin 中的文件 2、Java 中的文件 3:
activity.setOnBackPressed { /* Do something */ }
Kotlin 中的文件 1、Kotlin 中的文件 2、Java 中的文件 3:
activity.setOnBackPressed(OnBackPressedListener { /* Do something */ })
Kotlin 中的文件 1、Kotlin 中的文件 2、Kotlin 中的文件 3:
activity.setOnBackPressed(object: OnBackPressedListener {
override fun onBackPressed() {
/* Do something */
}
})
是否可以在 Kotlin 中拥有 3 个文件并使用 lambda 设置监听器? (在 Kotlin 中获得更多代码真是令人沮丧..)
谢谢
【问题讨论】:
标签: java android lambda interface kotlin