为什么不能通过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
- 通过枚举类属性Kotlin进行过滤
- 使用Kotlin无法反序列化Gson的JSON(仅适用于Android KitKat,可能更低)
- 如何使用Android中的Kotlin从NavigationView的headerLayout中指定的布局访问视图
- 如何在Kotlin类中注入JOOQ的DSLcontext
- 如何在Kotlin中使用AndroidAnnotation @SharedPref
- Objectbox:如何在kotlin中初始化ToMany <>关系
- 在界面中声明最后的乐趣
- 在使用gRPC的应用程序中使用kotlin-script-util(对于JSR-223支持)时,Guava发生冲突
- 包含gradle脚本kotlin文件的IntelliJ自动完成