Привязка данных в библиотечном проекте

#android #android-library #android-databinding

#Android #android-библиотека #android-привязка данных

Вопрос:

Если я определяю макет в проекте библиотеки и включаю привязку данных в проекте библиотеки, он все равно не работает. Это нормально? Должна ли быть возможность определять макеты в проекте библиотеки и использовать их с привязкой данных в другом проекте?

Есть ли что-то еще, что мне нужно сделать, кроме следующего:

  • включите привязку данных в проекте библиотеки и основном проекте. Например, следующее:

     android {
        dataBinding.enabled = setup.enableDataBinding
    }
      
  • включите макет из проекта библиотеки так же, как я бы сделал это с макетом из основного проекта

Я делаю следующее:

  <include
    android:id="@ id/viewTestMainProject"
    layout="@layout/view_main_project"/>

<include
    android:id="@ id/viewTestLibrary"
    layout="@layout/view_from_library" />
  

Первое включение создается как ViewMainProjectBinding , а второе как View в моей привязке… (Конечно, оба макета оборачивают свое содержимое layout тегами).

Редактировать

Похоже, проблема только в IDE, она помечает включенные макеты как View хотя они на самом деле являются соответствующим ...Binding классом… Чистая сборка аннулирование кэша перезапуск IDE не решает проблему.

Есть идеи, что может помочь?

Комментарии:

1. Столкнувшись с той же проблемой, вы нашли решение?

2. Нет. Но все работает даже с этой ошибкой IDE…

3. Какие-либо исправления с тех пор?