是否可以在xml中使用Kotlin stdlib中的方法?例如該代碼Kotlin stdlib和Databinding
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="16dp"
android:textColor="#333333"
android:text="@{viewModel.note}"
android:visibility="@{viewModel.note.isNotEmpty ? View.VISIBLE : View.GONE}"/>
產生編譯錯誤
執行失敗的任務 ':應用程序:compileDevDebugJavaWithJavac'。 java.lang.RuntimeException:發現數據綁定錯誤。 ****/data binding error **** msg:無法在類java.lang.String中找到方法isNotEmpty() file:D:\ Projects \ PushTracker -Android \ app \ src \ main \ res \ layout \ fragment_appointment_simple_details.xml LOC:104:44 - 104:70個**** \數據綁定錯誤****
顯而易見的是,數據綁定試圖找到方法isNotEmpty()
在Java中的字符串,但我可以強制綁定編譯器使用kotlin的字符串?
是的,我試過這個,但也用'@InlineOnly'填充。據我所知,只有一個解決方案 - 用@ JvmStatic'在一些輔助對象中定義這個方法@ – dewarder
@Google'@ JvmStatic'沒有必要,你可以調用這個方法。推薦的方法是使用文件級功能,而不是對象方法。 – voddan