如何使“this”成为Listener的参考,而不是Kotlin中的Activity?

我有一个类似于以下示例的情况,当我调用它时引用了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的高阶函数中。 我觉得在这里会过度杀伤。