Kotlin stdlib和Databinding
是否有可能在xml中使用Kotlin stdlib中的方法? 例如这个代码
产生编译错误
执行任务失败:app:compileDevDebugJavaWithJavac’。 java.lang.RuntimeException:发现数据绑定错误。 **** / data binding error **** msg:无法在类java.lang.String文件中find方法isNotEmpty():D:\ Projects \ PushTracker -Android \ app \ src \ main \ res \ layout \ fragment_appointment_simple_details。 xml loc:104:44 – 104:70 **** \数据绑定错误****
很明显,数据绑定试图find方法isNotEmpty()
在Java的字符串,但我可以强制数据绑定编译器使用kotlin的字符串?
“kotlin的字符串”不存在。 Kotlin的标准库定义了扩展方法来创建你所指的方法。 但是由于数据绑定库需要生成Java代码,因此无法find您所指的方法。
为了使用这个方法,你需要用Java调用它的方式来调用它,这是一个静态函数:
kotlin.text.StringsKt.isNotEmpty(viewModel.note)
编辑:这个方法是用@InlineOnly
注释的,所以这个方法可能不存在Kotlin代码之外。
- Android上的Kotlin Closable和SQLiteDatabase
- Kotlin / Android应用程序 – 从外部活动更改视图元素
- 在Kotlin中同时对列表中的每个元素应用变换的最佳方法
- 附近的消息API MessageLisenter不被触发
- 更改复选框的值,而不触发onCheckChanged
- EditText和TextInputLayout以编程方式添加不采摘风格,不显示软键盘
- 无法让dokka在gradle / android项目上生成kotlin文档
- 为什么只有最新的订阅者使用Kotlin和RxMVP才能在Android上的RxJava上进行下一个事件
- 是否有可能建立一个使用KOTLIN的make或者Soong的Android应用程序?