मैं include
का उपयोग करके एक ही दृश्य में अपने कई लेआउट का उपयोग करना चाहता हूं। मान लें कि मेरे पास custom.xml
है जिसमें कुछ TextView
एस शामिल हैं।टैग और डेटा शामिल करें बाइंडिंग
custom.xml
:
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="10dp"
android:orientation="vertical" >
<TextView
android:id="@+id/text1"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<TextView
android:id="@+id/text2"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</LinearLayout>
मैं parent.xml
में इस लेआउट कई बार शामिल किया है:
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<include layout="@layout/custom"
android:id="@+id/layout1"/>
<include layout="@layout/custom"
android:id="@+id/layout2"/>
</LinearLayout>
अब मैं इस लेआउट करने के लिए अपने डेटा मॉडल बाध्य करने के लिए चाहते हैं, लेकिन समस्या यह है कि मैं डॉन 'है टी layout1
और layout2
पर दो अलग-अलग डेटा मॉडल को बाध्य करने के बारे में पता है क्योंकि उनमें से दोनों को एक लेआउट से custom.xml
से पुनर्प्राप्त किया गया है। जहाँ तक मुझे पता के रूप में मैं अपने XML लेआउट में इस टैग को जोड़ सकते हैं:
<data>
<variable name="user" type="com.myproject.model.User"/>
</data>
लेकिन मैं custom.xml
को दो अलग-अलग डेटा मॉडल बाध्य करने के लिए की जरूरत है।
मेरा प्रश्न है कि एक दृश्य में एक बार कई बार एक लेआउट कैसे शामिल किया जाए और डेटा बाध्यकारी का उपयोग करके उन्हें अलग-अलग डेटा पास किया जाए? कुछ लेआउट में डेटा पास करने की तरह कुछ लेकिन एक मॉडल को स्थिर रूप से एक xml करने के लिए बाध्यकारी नहीं है।
मैं भी this सवाल जो बिल्कुल एक ही समस्या थी है लेकिन चूंकि डेटा बाइंडिंग Android के नए संस्करणों में जारी किया गया है मैं डाटा बाइंडिंग का उपयोग कर एक ही मुद्दे को हल करने के लिए एक तरह से मांग कर रहा हूँ मिल गया। यहाँ यह सवाल है कि मैं स्पष्टीकरण के लिए उद्धृत किया है का हिस्सा है:
उदाहरण के लिए, मैं एक सावधानी से गढ़ी लेआउट है कि मैं मेरे विचार में तीन बार प्रदर्शित करने के लिए चाहते हैं। उन सभी मामलों को अलग-अलग मानों की आवश्यकता होगी। चूंकि
include
मूल रूप से उस XML को लेता है और इसे पेस्ट करता है, तो मुझे कुछ और शक्तिशाली की आवश्यकता होगी।
लेआउट ही कर रहे हैं, और केवल डेटा बदल रहा है, यही कारण है कि आप एक कस्टम recycleView का उपयोग करने पर विचार न तो:
content_main.xml
इस प्रकार देखना चाहिए? –क्योंकि मैं दो अलग-अलग डेटा मॉडल पास करना चाहता हूं उदाहरण के लिए एक उपयोगकर्ता है और दूसरा पता है लेकिन दोनों मॉडल अपने डेटा को दिखाने के लिए एक ही लेआउट का उपयोग कर रहे हैं –