आसान पूरा उदाहरण
बस id
शामिल लेआउट के लिए सेट , और उपयोग करें binding.includedLayout.anyView
।
यह उदाहरण एक मान को <include
कोड में शामिल विचारों तक पहुँचने और पहुँचने में मदद करता है ।
चरण 1
आपके पास शामिल लेआउट के layout_common.xml
लिए पास String
होना चाहते हैं ।
आप पैदा करेगा String
लेआउट में चर और इस का उल्लेख String
करने के लिए TextView
।
<data>
// declare fields
<variable
name="passedText"
type="String"/>
</data>
<TextView
android:id="@+id/textView"
...
android:text="@{passedText}"/> //set field to your view.
चरण 2
इस लेआउट को पैरेंट लेआउट में शामिल करें। एक id
शामिल लेआउट दें , ताकि हम उसे बाध्यकारी श्रेणी में उपयोग कर सकें। अब आप स्ट्रिंग passedText
को अपने <include
टैग में पास कर सकते हैं ।
activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<layout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<LinearLayout
..
>
<include
android:id="@+id/includedLayout"
layout="@layout/layout_common"
app:passedText="@{@string/app_name}" // here we pass any String
/>
</LinearLayout>
</layout>
- अब
binding.includedLayout.textView
आप अपनी कक्षा में उपयोग कर सकते हैं ।
ऊपर दिए गए लेआउट में शामिल करने के लिए आप किसी भी चर को पास कर सकते हैं।
ActivityMainBinding binding = DataBindingUtil.setContentView(this, R.layout.activity_main);
binding.includedLayout.textView.setText("text");
नोट दोनों लेआउट (माता-पिता और शामिल) binding layout
, के साथ लिपटे होने चाहिए<layout
<include layout="@layout/buttons" android:id="@+id/buttons"/>
:। आपको अभी भी आईडी की आवश्यकता है ताकि यह आपके लिए एक सार्वजनिक क्षेत्र का उत्पादन करे ताकि आप बटन दृश्य तक पहुंच सकें।