Android使用Databinding在xml中绑定数据

236 阅读1分钟

首先在app模块的build.gradle中加入databinding的配置。

android {
    buildFeatures {
        dataBinding true
    }
}

然后使用[Alt + 回车]快捷键将普通的xml布局转换成databinding的xml布局,在data标签中可以定义绑定的变量,在控件中可以直接只用这些变量给=""的内容赋值,你还可以使用一些诸如if判断这样的代码。

<layout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto">
    <data>
        <variable
            name="m"
            type="com.example.vm.LoginViewModel" />
        <variable
            name="v"
            type="com.example.ui.fragment.LoginFragment" />
    </data>
    <Button app:click="@{v}"/>
    <EditText android:text="@{m.username}"/>
</layout>