Поэтому я использую привязку данных в своем проекте Android и у меня проблема с одним классом.
Cra sh Журнал:
Предоставленный параметр bindingComponent должен быть экземпляром DataBindingComponent
В проекте используются Android библиотеки поддержки, а не Android. Нет проблем при создании класса DatanBinding. Ниже приведен фрагмент кода
public BaseBrowserAdapter.ViewHolder onCreateViewHolder(ViewGroup viewGroup, int i) {
LayoutInflater from = LayoutInflater.from(viewGroup.getContext());
if (i == 32 || i == 128) {
return new MediaViewHolder(BrowserItemBinding.inflate(from, viewGroup)); //Error at here, BrowserItemBinding
}
return new SeparatorViewHolder(BrowserItemSeparatorBinding.inflate(from, viewGroup));
}
Вот элемент browser_item. xml
<?xml version="1.0" encoding="utf-8"?>
<layout>
<data>
<import type="android.view.View"/>
<import type="android.text.TextUtils"/>
<import type="com.test.media.MediaLibraryItem"/>
<variable
name="holder"
type="com.test.subtitle_browser.BaseBrowserAdapter.ViewHolder"/>
<variable
name="item"
type="MediaLibraryItem"/>
<variable
name="title"
type="String"/>
<variable
name="hasContextMenu"
type="boolean"/>
<variable
name="checkEnabled"
type="boolean"/>
<variable
name="checked"
type="boolean"/>
<variable
name="protocol"
type="String"/>
<variable
name="cover"
type="android.graphics.drawable.BitmapDrawable"/>
<variable
name="bgColor"
type="int" />
</data>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@drawable/background_item"
android:focusable="true"
android:minHeight="50.0dip"
android:padding="2.0dip"
>
<CheckBox
android:id="@+id/browser_checkbox"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:checked="false"
android:focusable="false"
android:visibility="gone"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/dvi_icon"
android:layout_width="50.0dip"
android:layout_height="50.0dip"
android:contentDescription="@string/cover_art"
android:gravity="center"
android:textColor="@color/whitetransparent"
android:textSize="11.0sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toEndOf="@+id/browser_checkbox"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/title"
android:layout_width="0.0dip"
android:layout_height="wrap_content"
android:layout_marginStart="5.0dip"
android:layout_marginLeft="5.0dip"
android:ellipsize="marquee"
android:fontFamily="sans-serif-light"
android:marqueeRepeatLimit="marquee_forever"
android:maxLines="1"
android:textColor="?list_title"
android:textSize="16.0sp"
app:layout_constraintBottom_toTopOf="@+id/text"
app:layout_constraintEnd_toStartOf="@+id/item_more"
app:layout_constraintStart_toEndOf="@+id/dvi_icon"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_chainStyle="packed"
app:layout_goneMarginBottom="2.0dip" />
<TextView
android:id="@+id/text"
android:layout_width="0.0dip"
android:layout_height="wrap_content"
android:ellipsize="marquee"
android:fontFamily="sans-serif-light"
android:maxLines="1"
android:textColor="?list_subtitle"
android:visibility="gone"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/item_more"
app:layout_constraintStart_toStartOf="@+id/title"
app:layout_constraintTop_toBottomOf="@+id/title" />
<ImageView
android:id="@+id/item_more"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/ic_more_player"
android:paddingLeft="10.0dip"
android:paddingRight="10.0dip"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</android.support.constraint.ConstraintLayout>
</layout>
Большое спасибо заранее. Дайте мне знать, если вам нужно больше деталей.