我想知道是否有任何方法可以在表达式属性中调用扩展,
例如,这是一些扩展
fun String.parseServerDate():String{
...
}
要在Kotlin中打电话,我们使用
myTime.parseServerDate()
所以,我的问题是如何在表达式语言中调用此扩展名
尝试过
@{mydate.parseServerDate()}
不起作用我尝试将我的扩展kt文件导入
<import>
标记,但似乎没有任何反应 最佳答案
您不能在XML中使用扩展功能
您可以做的是为您要对 View 执行的任何操作创建数据绑定(bind)适配器,或者创建一个对象并将该函数放入其中,以便可以在任何需要的地方使用它
object Functions{
fun parseServerDate(string : String) {
...
}
}
//in xml
<import type="the object path"/>
@{Functions.parseServerDate(data.string)}
为了让我为您提供更多帮助,您必须更具体地了解您想做什么,即扩展功能的作用
您可以在这里阅读有关绑定(bind)适配器的信息https://developer.android.com/topic/libraries/data-binding/binding-adapters