如何使“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的高阶函数中。 我觉得在这里会过度杀伤。