我的情况类似于以下示例,当我调用 this
时,它引用的是 Activity
而不是 OnClickListener
。有没有办法让它成为听众的引用?
private fun onClick() = View.OnClickListener {
// How to make 'this' a reference of OnClickListener instead of the Activity
}
最佳答案
实现此目的的最简单方法是使用 object
语法而不是 lambda(尽管使用起来有点嘈杂):
private fun onClick() = object: View.OnClickListener {
override fun onClick(v: View){
//this in the context of listener
}
}
否则,您必须将实现包装到另一个与 lambdas with receiver 一起使用的高阶函数中。我认为在这里会有点矫枉过正。
关于android - 如何使 'this' 成为 Listener 的引用而不是 Kotlin 中的 Activity?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48493031/