我想像这样传递一个接口(interface)作为参数:
class Test {
fun main() {
test({})
// how can I pass here?
}
fun test(handler: Handler) {
// do something
}
interface Handler {
fun onCompleted()
}
}
在 Java 中,我可以使用像 test(new Handler() { .......... })
这样的匿名函数,但在 Kotlin 中我不能这样做。有人知道怎么做吗?
最佳答案
在 Kotlin 你可以这样做:
test(object: Handler {
override fun onComplete() {
}
})
或者以同样的方式创建一个属性:
val handler = object: Handler {
override fun onComplete() {
}
}
而且,在代码中的某处: 测试(处理程序)
https://stackoverflow.com/questions/41649535/