我正在从 Java
迁移到 Kotlin
,我试图使用带有 Data Binding
的静态函数:
<data>
<import type="com.package.domain.tools.helper.StringValidator"/>
...
</data>
然后我调用 hideNumber
函数:
<com.hastee.pay.ui.view.Text
...
android:text='@{StringValidator.hideNumber(account.number)}'
app:layout_constraintRight_toRightOf="@+id/number"
app:layout_constraintTop_toBottomOf="@+id/number" />
在这里使用数据绑定会导致错误:
[kapt] An exception occurred:
android.databinding.tool.util.LoggedErrorException: Found data binding
errors.
****/ data binding error ****msg:cannot find method
hideNumber(java.lang.String) in class
com.package.domain.tools.helper.StringValidator....
这里有一个对象:
object StringValidator {
...
fun hideNumber(number: String): String {
return "****" + number.substring(number.length - 4)
}
}
我怎样使用Kotlin和Data Binding来调用这个函数?
hideNumber
上添加@JvmStatic
。 - Lovis