小编nob*_*710的帖子

Kotlin界面上的lambda表达式

我正在将Java项目转换为Kotlin,我很惊讶接口使得Kotlin中的代码比Java中的代码更重.

示例:我想在MyFragment中设置MainActivity中的onBackPressListener.

文件1:MainActivity,文件2:MyFragment,文件3:OnBackPressedListener(接口)

Java中的文件1,Kotlin中的文件2,Java中的文件3:

activity.setOnBackPressed { /* Do something */ }
Run Code Online (Sandbox Code Playgroud)

Kotlin中的文件1,Kotlin中的文件2,Java中的文件3:

activity.setOnBackPressed(OnBackPressedListener { /* Do something */ })
Run Code Online (Sandbox Code Playgroud)

Kotlin中的文件1,Kotlin中的文件2,Kotlin中的文件3:

activity.setOnBackPressed(object: OnBackPressedListener {
            override fun onBackPressed() {
                /* Do something */
            }
        })
Run Code Online (Sandbox Code Playgroud)

是否可以在Kotlin中使用3个文件并使用lambda来设置监听器?(在Kotlin中获取更多代码真令人沮丧..)

谢谢

java lambda android interface kotlin

6
推荐指数
2
解决办法
970
查看次数

标签 统计

android ×1

interface ×1

java ×1

kotlin ×1

lambda ×1