Kolay Tamamlanmış Örnek
Sadece id
dahil edilen düzene ayarlayın ve kullanın binding.includedLayout.anyView
.
Bu örnek <include
, koda dahil edilen görünümlere bir değer iletmeye ve bunlara erişmeye yardımcı olur .
Aşama 1
You have layout_common.xml
, geçirmek istediğiniz String
dahil düzene.
Sen yaratacak String
düzeninde değişken ve bu başvurmak String
için TextView
.
<data>
// declare fields
<variable
name="passedText"
type="String"/>
</data>
<TextView
android:id="@+id/textView"
...
android:text="@{passedText}"/> //set field to your view.
Adım 2
Bu düzeni ana yerleşim düzenine dahil edin. id
Dahil edilen bir düzen verin , böylece onu bağlama sınıfında kullanabiliriz. Şimdi Dize geçebilir passedText
sizin için <include
etiketi.
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>
- Şimdi
binding.includedLayout.textView
sınıfınızda kullanabilirsiniz .
Yukarıdaki gibi herhangi bir değişkeni dahil edilen düzene geçirebilirsiniz.
ActivityMainBinding binding = DataBindingUtil.setContentView(this, R.layout.activity_main);
binding.includedLayout.textView.setText("text");
Not Her iki düzen (üst ve dahil) binding layout
şununla sarmalanmalıdır:<layout
<include layout="@layout/buttons" android:id="@+id/buttons"/>
. Düğme Görünümüne erişebilmeniz için sizin için bir genel alan oluşturması için kimliğe hala ihtiyacınız var.