Привязка данных BindingAdapter в проекте библиотеки не применяется - PullRequest
0 голосов
/ 30 декабря 2018

Я создаю многомодульный проект.Я хочу поделиться BindingAdapter в модулях.Но возникает следующая ошибка:

com.github.takahirom.bindingadapter_in_library.databinding
e: [kapt] An exception occurred: android.databinding.tool.util.LoggedErrorException: Found data binding errors.
****/ data binding error ****msg:Cannot find the setter for attribute 'app:customText' with parameter type java.lang.String on android.widget.TextView. file:/Users/takahirom/git/bindingadapterinlibrary/app/src/main/res/layout/content_main.xml loc:16:34 - 16:47 ****\ data binding error ****

    at android.databinding.tool.processing.Scope.assertNoError(Scope.java:112)
    at android.databinding.annotationprocessor.ProcessDataBinding.doProcess(ProcessDataBinding.java:109)
    at android.databinding.annotationprocessor.ProcessDataBinding.process(ProcessDataBinding.java:73)
    at org.jetbrains.kotlin.kapt3.base.ProcessorWrapper.process(annotationProcessing.kt:99)

Это пример проекта.https://github.com/takahirom/databinding-in-library-sample

модуль приложения https://github.com/takahirom/databinding-in-library-sample/blob/master/app/src/main/res/layout/content_main.xml

    <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            app:customText="@{`Hello World!`}"

модуль библиотеки https://github.com/takahirom/databinding-in-library-sample/blob/master/library/src/main/java/TestBinding.kt (Если я поместил этот файл в модуль приложения, ошибка не возникнет)

@BindingAdapter("app:customText")
fun customText(textView: TextView, text: String) {
    textView.text = "** $text **"
}
...