J'ai une fonction qui formate du texte et je souhaite appliquer cette amusement à mon texteView, à l'aide de la ligne de données, donc j'ai appelé TextView mais j'ai un Erreur Dress Bâtiment: P> android: texte = "@ {mentirmodel.text.formatto ()} " code>, importation de classe dans
de données code> de ma mise en page p>
Found data binding errors.
****/ data binding error ****msg:cannot find method formatTo() in class java.lang.String
3 Réponses :
Créer un objet code> nommé update strud> p> extkt code> (ou tout ce que vous voulez) et définissez votre fonction d'extension dedans et l'annoterez-la avec
@jvmstatic code> comme ci-dessous
Cette fonction située dans le fichier (.kt), pas une classe, donc je ne peux pas ajouter cette annotation, car seuls les membres des objets nommés et des objets compagnons peuvent être annotés avec '@JVMStatics
@Strangelove envisagez d'utiliser un objet pour résoudre ce problème
Databindinging est toujours des modules Java, de sorte que certaines fonctionnalités de Kotlin comme des fonctions d'extension ne peuvent être utilisées. La seule chose que vous puissiez faire ici - créer une fonction spécifique dans votre classe ViewModel code>.
android:text="@{viewModel.displayText}"
envisager d'utiliser mediatorlivedata: et que dans xml: p>