Contoh Lengkap Mudah
Cukup atur id
ke tata letak yang disertakan, dan gunakan binding.includedLayout.anyView
.
Contoh ini membantu meneruskan nilai ke <include
& mengakses tampilan yang disertakan dalam kode.
Langkah 1
Anda harus layout_common.xml
, ingin meneruskan String
ke tata letak yang disertakan.
Anda akan membuat String
variabel dalam layout dan merujuknya String
ke TextView
.
<data>
// declare fields
<variable
name="passedText"
type="String"/>
</data>
<TextView
android:id="@+id/textView"
...
android:text="@{passedText}"/> //set field to your view.
Langkah 2
Sertakan tata letak ini ke tata letak induk. Berikan id
ke layout yang disertakan, agar kita bisa menggunakannya di kelas binding. Sekarang Anda dapat meneruskan String passedText
ke <include
tag Anda .
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>
- Anda dapat menggunakannya sekarang
binding.includedLayout.textView
di kelas Anda.
Anda dapat meneruskan variabel apa pun ke tata letak yang disertakan seperti di atas.
ActivityMainBinding binding = DataBindingUtil.setContentView(this, R.layout.activity_main);
binding.includedLayout.textView.setText("text");
Catatan Kedua tata letak (induk & disertakan) harus binding layout
dibungkus dengan<layout
<include layout="@layout/buttons" android:id="@+id/buttons"/>
. Anda masih membutuhkan id agar dapat menghasilkan bidang publik untuk Anda sehingga Anda dapat mengakses Tampilan Tombol.