मेरे पास 2 लेआउट हैं: एक 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">
<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>
लेआउट-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>
अद्यतन:
अंत में मैं बाहर समस्या के मूल पाया है। मुझे नहीं पता कि क्यों, लेकिन यह minSdkVersion 21 का उपयोग करते समय * बाध्यकारी Impl फ़ाइलों को उत्पन्न नहीं करता है। यदि पहले संस्करण निर्दिष्ट करते हैं तो यह कहा जाता है कि यह @yigit
आप अपने संदर्भ के लिए [this] (http://chintanrathod.com/develop_apps_faster_using_data_binding_part2/) ट्यूटोरियल भी देख सकते हैं। –
इसमें समस्या का विवरण शामिल नहीं है – LackOfKnowledge