Я пытаюсь использовать привязку данных с Android.
Я не могу больше строить свой проект. Я получил эту ошибку:
"Ошибка: (13, 46) ошибка: пакет ch.company.project.databinding не существует"
Вот мой gradle
:
а также
И вот выходной сигнал:
Я пытаюсь использовать привязку данных с Android.
Я не могу больше строить свой проект. Я получил эту ошибку:
"Ошибка: (13, 46) ошибка: пакет ch.company.project.databinding не существует"
Вот мой gradle
:
а также
И вот выходной сигнал:
Спасибо Yigit!
Проблема не была связана с привязкой данных Android. В проекте была ошибка (некоторые переменные установлены неправильно)
Я бы порекомендовал использовать gradle с "--debug и --stacktrace" для получения дополнительной информации, это очень помогает.
Ошибка - это не пакет DataBinding, это синтаксическая или логическая ошибка. Например, у вас есть атрибут "lastName" в вашем POJO, но в макете это android:text="@{user.lastname}"
.
Проверьте свой "макет" и сделайте Rebuild Project.
Я не удовлетворен принятым ответом, который говорит вам, чтобы вы могли отслеживать трассировку без подсказок.
Вот некоторые возможные причины, которые приводят к этой проблеме. Проверьте, не выполняете ли вы что-либо из следующего.
В принципе Android DataBinding не то, что созревает до сих пор. Он будет без ошибок много раз.
Так что если у вас есть проблема, такая как package ch.company.project.databinding does not exist"
.
imports
и variables
). Я обычно не получаю правильную ошибку в этом случае.@BindingAdapter
имеющий правильные параметры. Например, imageUrl
привязки imageUrl
примет ImageView
или View
качестве первого параметра.Вы должны всегда перестраивать проект после выполнения работы в одном макете.
Если вы не можете найти ошибки с помощью вышеуказанных шагов, попробуйте --debug and --stacktrace
в опции компиляции
File> Settings> Build, Execution, Deployment> Compiler> Command-line Options
У меня были схожие проблемы с моим проектом
Вы можете попробовать:
В моем конкретном случае я использовал Dagger 2. Эта ошибка пакета появляется во многих классах без какой-либо связи с исходной ошибкой: ошибка впрыскивания зависимостей.
Счастливое напоминание: прокрутите еще раз на свой стек, чтобы узнать, в чем проблема.
Я застрял с той же ошибкой в течение нескольких часов. Попробовав несколько решений из stackoverflow, я обновил свой проект со стабильными зависимостями gradle.
Тем не менее это не было решено, однако с той же зависимостью gradle отлично работало DataBinding
в другом моем проекте.
Итак, я пошел в папку проекта с помощью проводника и удалил 2 вещи.
- создать папку
- все файлы из .idea/library
После этого я синхронизировал проект, и он продолжал работать просто отлично.
Я получил ошибку:
Ошибка: (9, 46) ошибка: пакет com.company.www.bar.databinding не существуют.
я просто удаляю знак "=". это сработало для меня
Из этого:
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:onClick="@={()->activity.onButtonClick()}"/>
to:
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:onClick="@{()->activity.onButtonClick()}"/>
Убедитесь, что в ваших образцовых полях, которые вы указали в макете, есть public
модификаторы доступа
Чтобы избавиться от этой ошибки, просто приложите полный дизайн макета внутри простого тега макета в файле activity_main.xml
.
Потеряв много часов в поиске решения, это сработало для меня. Попробуйте.
Убедитесь, что название вашего пакета начинается со строчной буквы. в моем случае проблема решена после двух часов борьбы