Kotlin stdlib y Databinding

¿Es posible usar methods de Kotlin stdlib en xml? Por ejemplo, este código

<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}"/> 

producir error de compilation

La ejecución falló para la tarea ': app: compileDevDebugJavaWithJavac'. java.lang.RuntimeException: Se encontraron errores de data binding. **** / error de data binding **** msg: no se puede encontrar el método isNotEmpty () en la class java.lang.String file: D: \ Projects \ PushTracker-Android \ app \ src \ main \ res \ layout \ fragment_appointment_simple_details. xml loc: 104: 44 – 104: 70 **** \ error de data binding ****

Es obvio que el data binding intenta encontrar el método isNotEmpty() en la Cadena de Java, pero ¿puedo forzar al comstackdor de data binding a usar la Cadena de Kotlin?

"Cadena de kotlin" no existe. La biblioteca estándar de Kotlin define los methods de extensión para crear el método al que se refiere. Pero dado que la biblioteca de data binding necesita generar código Java, no puede encontrar el método al que se refiere.

Para usar ese método, deberá llamarlo de la forma que Java lo llamaría, que es una function estática:

kotlin.text.StringsKt.isNotEmpty(viewModel.note)

EDITAR: este método está anotado con @InlineOnly , por lo que este método podría no existir fuera del código de Kotlin.

  • Convenciones de nomenclatura de files para Kotlin
  • Kotlin con map en Android
  • La extensión de Kotlin para Android no puede resolver el "text"
  • Kotlin - lateinit VS Cualquiera? = nulo
  • Espere hasta que dos observables emitan verdadero
  • Campo anulable con getter no anulable
  • Restricción de generics Kotlin
  • Kotlin utiliza aserciones de time de ejecución para la comprobación nula - ¿Sobrecarga de performance?
  • "Las proyecciones no están permitidas para los arguments inmediatos de un supertipo" Kotlin Android Studio
  • Configurando "build.gradle" para el module Kotlin en Android Studio
  • Fallo de verificación de contrato en corda Hello World pt 2