【发布时间】:2019-10-09 19:09:43
【问题描述】:
在Android+Kotlin中,以下两种语法都有效
view.setOnClickListener(this) 和view.setOnClickListener {} 我一直在尝试为我的自定义功能界面实现这种语法,但没有任何成功。这是我迄今为止尝试过的
interface OnClickListener {
fun onClick(str: String)
}
class Test {
fun setClickListener(listener: OnClickListener) {
listener.onClick("")
}
}
fun main() {
val test = Test()
test.setClickListener { str ->
}
}
在main() 中的上述sn-p 代码中,由于需要OnClickListener 类的匿名对象,因此编译失败。如何实现与原始 OnClickListener 相同的客户端代码语法?
【问题讨论】:
-
我最近为此写了一个答案,take a look。
标签: android kotlin functional-programming