Я реализую Android Библиотека Layer-xdk, и у меня возникла небольшая проблема. При сборке я получаю следующую ошибку:
error: cannot find symbol public final android.support.constraint.ConstraintLayout root;
Ошибка вызвана сгенерированным классом в библиотеке слоев под названием XdkUiMessageModelVhDefaultVBinding.java.
и это строка, вызывающая ошибку:
public final android.support.constraint.ConstraintLayout root;
Если вы наведете курсор на ConstraintLayout, который красный, появится сообщение «Невозможно разрешить символ ConstraintLayout».
Этот класс создается библиотекой привязки данных Android из xml xdk_ui_message_model_vh_default.xml.
который использует макет ограничения androidX
<androidx.constraintlayout.widget.ConstraintLayout
android:id = "@+id/root"
android:layout_width = "match_parent"
android:layout_height = "wrap_content"
android:layout_marginEnd = "@dimen/xdk_ui_message_model_vh_avatar_padding"
android:layout_marginLeft = "@dimen/xdk_ui_message_model_vh_avatar_padding"
android:layout_marginRight = "@dimen/xdk_ui_message_model_vh_avatar_padding"
android:layout_marginStart = "@dimen/xdk_ui_message_model_vh_avatar_padding"
android:layout_marginTop = "@dimen/xdk_ui_message_model_vh_padding"
android:layout_marginBottom = "@dimen/xdk_ui_message_model_vh_padding"
android:duplicateParentState = "true" android:tag = "layout/xdk_ui_message_model_vh_default_0" xmlns:android = "http://schemas.android.com/apk/res/android" xmlns:app = "http://schemas.android.com/apk/res-auto" xmlns:tools = "http://schemas.android.com/tools">
как ни странно, макет ограничения является корневым элементом. Я думал, что <layout> должен быть корневым элементом с родственником <data> для материала макета корневого пользовательского интерфейса, чтобы класс Binding был сгенерирован должным образом. Возможно, я неправильно понял эту часть.
Есть ли способ заставить любые сборки или генерируемые коды использовать androidX?
Или, если у кого-то есть проясняющая информация о том, что вызывает проблему, я был бы очень признателен.
@MartinMarconcini Это то, что я подумал сначала, но класс FragmentChatListBinding на самом деле является сгенерированным кодом. поэтому я считаю, что они на самом деле не писали, что написала студия Android класса.
Похоже, библиотеку нужно обновить, чтобы использовать предоставленный ConstraintLayout или просто использовать сам Android X: / Похоже, у вас нет доступа к исходному коду, поэтому исправьте их, чтобы обновить его! :)