Das Tag <layout>
muss das Stamm-Tag sein, wenn Sie DataBinding
verwenden. Auf diese Weise sagen Sie dem Compiler, dass Sie DataBinding
verwenden und Ihr Layout wird spezielle Tags wie <variable>
oder <import>
haben, so dass Sie Ihr Layout innerhalb dieses Tags einbetten müssen.
Kurz gesagt, müssen Sie den <layout>
Tag verwenden, wann immer Sie DataBinding
für den Compiler zu verstehen die speziellen Tags und erzeugen die DataBinding
Klasse mit den richtigen Variablen und Methoden verwenden.
Wenn Sie ein Layout wie folgt aus (layout_data_binding.xml):
<layout xmlns:android="http://schemas.android.com/apk/res/android">
<data>
<variable name="user" type="com.example.User"/>
</data>
<LinearLayout
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{user.firstName}"/>
<TextView android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{user.lastName}"/>
</LinearLayout>
</layout>
Es basiert auf, was innerhalb des <layout>
Tag ist der LayoutDataBinding
Klasse (automatisch generierte) mit dem erstellen User
Variable und ihre Getter und Setter.
https://developer.android.com/topic/libraries/data-binding/index.html#data_binding_layout_files – CommonsWare