Tôi có 2 bố cục: một cho v19 + và một cho phiên bản cũ hơn. Chúng chứa các khung nhìn khác nhau với các id khác nhau. Làm thế nào tôi có thể nói khung DataBinding Android mà tôi muốn làm việc với cả hai bố trí? Nó tạo ra các khung nhìn chỉ cho một bố cục (chọn ngẫu nhiên).Cách liên kết bố cục với một số vòng loại
bố trí/temp_view.xml:
<layout 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">
<data>
<variable
name="block"
type="ru.temp.model.content.blocks.WebMediaBlock" />
<import type="ru.temp.model.Types.ProviderTypes" />
</data>
<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
tools:background="@android:color/white">
<ImageView
android:id="@+id/provider"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:paddingTop="@dimen/size5"
android:src="@{ProviderTypes.fromString(block.provider).getResId()}" />
</FrameLayout>
</layout>
layout-V19/temp_view.xml:
<layout 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">
<data>
<variable
name="block"
type="ru.temp.model.content.blocks.WebMediaBlock" />
<import type="ru.temp.model.Types.ProviderTypes" />
</data>
<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
tools:background="@android:color/white">
<ru.temp.utils.EmbedView
android:id="@+id/media_embed"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<ru.temp.structure.static_material.CreditsView
android:id="@+id/credits_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</FrameLayout>
</layout>
Cập nhật:
Cuối cùng tôi đã phát hiện ra gốc rễ của vấn đề. Tôi không biết tại sao nhưng nó không tạo ra tập tin * BindingImpl khi sử dụng minSdkVersion 21. Nếu chỉ định các phiên bản trước nó hoạt động như đã nói @yigit
Bạn cũng có thể kiểm tra hướng dẫn [this] (http://chintanrathod.com/develop_apps_faster_using_data_binding_part2/) để bạn tham khảo. –
Nó không bao gồm chi tiết vấn đề – LackOfKnowledge