Я работал над проектом XML + DataBinding для Android, но сборки завершались ошибками.
Я воспроизвел проблему в следующем простом примере:
activity_main.xml
Caused by: android.databinding.tool.util.LoggedErrorException: Found data binding error(s):
[databinding] {"msg":"Cannot find a setter for \u003candroid.widget.TextView app:myOwnText\u003e that accepts parameter type \u0027java.lang.String\u0027\n\nIf a binding adapter provides the setter, check that the adapter is annotated correctly and that the parameter type matches.","file":"app\\src\\main\\res\\layout\\activity_main.xml","pos":[{"line0":20,"col0":29,"line1":20,"col1":34}]}
Примечания.
Файл BindingAdapters.kt находится в корневой папке (рядом с MainActivity.kt)
Привязка данных включена в build.gradle.kts
Версия AGP — 9.0.0
Я получаю предупреждение «Функция «setMyOwnText» никогда не используется» в Android Studio, хотя я использую этот адаптер внутри моего TextView в Activity_main
Я работал над проектом XML + DataBinding для Android, но сборки завершались ошибками. Я воспроизвел проблему в следующем простом примере: activity_main.xml [code]
@JvmStatic @BindingAdapter("myOwnText") fun setMyOwnText(view: TextView, value: String?) { view.text = value ?: "User" } } [/code] Журналы ошибок: [code]Caused by: android.databinding.tool.util.LoggedErrorException: Found data binding error(s):
[databinding] {"msg":"Cannot find a setter for \u003candroid.widget.TextView app:myOwnText\u003e that accepts parameter type \u0027java.lang.String\u0027\n\nIf a binding adapter provides the setter, check that the adapter is annotated correctly and that the parameter type matches.","file":"app\\src\\main\\res\\layout\\activity_main.xml","pos":[{"line0":20,"col0":29,"line1":20,"col1":34}]} [/code] Примечания. [list] [*]Файл BindingAdapters.kt находится в корневой папке (рядом с MainActivity.kt)
[*]Привязка данных включена в build.gradle.kts
[*]Версия AGP — 9.0.0
[*]Я получаю предупреждение «Функция «setMyOwnText» никогда не используется» в Android Studio, хотя я использую этот адаптер внутри моего TextView в Activity_main