为什么不能通过kotlin中的接口有时?
我刚开始学习kotlin,并正在阅读Android Studio生成的代码。 我注意到我可以做类似的事情
view.setOnClickListener { callAnotherMethod() }
所以我创建了一个测试界面
interface TestListener { fun onTest() }
并设置监听器的fun
private fun setTest(listener: TestListener) { }
但在这个时候调用setTest{ callAnotherMethod() }
不会工作。 我不明白为什么。 setOnClickedListener()
是要求一个接口, setTest
。 同时, OnClickListener
是一个接口, TestListener
。 为什么我不能用TestListener
做同样的事情?
你可以试试这个:
test(object : TestListener { override fun onTest() { } })
或者使用它:
val aTestListner = object : TestListener { override fun onTest() { } }TestListener