Kotlin的匿名方法使用
还在为每次接口回调定义接口名字儿苦恼吗?是时候来学习一波儿Kotlin匿名方法实现接口回调了
- 以往的方法
定义
// 通用办法
class A (val aListener: AListener){
fun clickButton (text: String?) {
aListener.onAListener(text)
}
// 定义接口
interface AListener {
fun onAListener(text: String?)
}
}
调用
// 通用办法
val a = A(object : A.AListener {
override fun onAListener(text: String?) {
println("打印$text")
}
})
a.clickButton("Hello click A")
- 使用Kotlin匿名方法
定义
// 匿名函数方法
class B (val bListener: (String?) -> Unit) {
fun clickButton(text: String?) {
bListener(text)
}
}
调用
// 匿名函数办法
val b = B {
println("打印$it")
}
b.clickButton("Hello click B")