相关疑难解决方法(0)

如何创建Kotlin DSL - DSL语法Kotlin

和anko一样,你可以写这样的回调函数:

alert {
    title = ""
    message = ""
    yesButton {
       toast("Yes") 
    }
    noButton { 
       toast("No")
    }
}
Run Code Online (Sandbox Code Playgroud)

我该如何创建这样的嵌套函数?我尝试像下面那样创建它,但似乎没有工作.

class Test {
    fun f1(function: () -> Unit) {}
    fun f2(function: () -> Unit) {}
}
Run Code Online (Sandbox Code Playgroud)

现在,如果我用扩展功能,

fun Context.temp(function: Test.() -> Unit) {
    function.onSuccess() // doesn't work
}
Run Code Online (Sandbox Code Playgroud)

从活动中调用此内容:

temp {
    onSuccess {
        toast("Hello")
    }
}
Run Code Online (Sandbox Code Playgroud)

不行.我在这里仍然缺乏一些基本概念.谁能在这里指导?

android kotlin anko kotlin-extension

11
推荐指数
1
解决办法
812
查看次数

标签 统计

android ×1

anko ×1

kotlin ×1

kotlin-extension ×1