0
votes

La base de données ne peut pas appeler la fonction statique avec string.function ()

J'ai une fonction qui formate du texte xxx pré>

et je souhaite appliquer cette amusement à mon texteView, à l'aide de la ligne de données, donc j'ai appelé TextView android: texte = "@ {mentirmodel.text.formatto ()} " code>, importation de classe dans de données code> de ma mise en page p> xxx pré>

mais j'ai un Erreur Dress Bâtiment: P>

Found data binding errors.
****/ data binding error ****msg:cannot find method formatTo() in class java.lang.String


0 commentaires

3 Réponses :


4
votes

Créer un objet nommé extkt (ou tout ce que vous voulez) et définissez votre fonction d'extension dedans et l'annoterez-la avec @jvmstatic comme ci-dessous xxx

update xxx


2 commentaires

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



2
votes

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


0 commentaires

0
votes

envisager d'utiliser mediatorlivedata: xxx

et que dans xml: xxx


0 commentaires