我的代码中几乎没有点击监听器,如下所示:
tvLogin.setOnClickListener {
hideKeyBoard(it)
login()
}
tvForgotPassword.setOnClickListener {
hideKeyBoard(it)
navigateToForgetPassword()
}
我想修改传递的代码块以始终调用 hideKeyBoard(view)
然后调用我的函数。
有没有办法创建一个高阶函数来修改代码块并调用传递的函数?
我试过如下的方法:
val clickListener: (View,()->Unit) -> Unit
但不确定它是如何工作的。
任何人都可以帮助实现吗?
最佳答案
我不确定我是否完全理解你的意思,但也许是这样的:
fun addCallTo(lambda: (View) -> Unit): (View) -> Unit {
return {
hideKeyboard(it)
lambda(it)
}
}
// usage:
tvLogin.setOnClickListener(addCallTo { view -> login() })
关于java - 修改匿名函数以在 Kotlin 中调用另一个匿名函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50693148/