DataBinding入门使用

DataBinding入门使用

一、环境

Android Studio 1.3+
Gradle版本>=1.5.0-alphal

二、依赖

classpath ‘com.android.tools.build:gradle:1.5.0’
然后修改对应模块(Module)的 build.grade:

android {
    ....
    dataBinding {
        enabled = true
    }
}

注意:Android Stuido 的版本一定要大于1.3,而且Android Studio目前对binding对象没有自动代码提示,只会在编译时进行检查。

三、使用

1 实体类与TextView的数据绑定

在MainActivity.java中
用【DataBindingUtil.setContentView(this, R.layout.activity_main);】代替【setContentView(R.layout.activity_main)

ActivityMainBinding binding = DataBindingUtil.setContentView(this, R.layout.activity_main);
User user = new User("Relish", "21");
binding.setUser(user);

在activity_main.xml中
声明将要绑定的数据

<data>
    <variable
        name="user"
        type="cn.com.servyou.bean.User" />
</data>

实现数据绑定@{user.name}

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@{user.name}" />

2 绑定控件的点击事件

在MainActivity.java中

ActivityMainBinding binding = DataBindingUtil.setContentView(this, R.layout.activity_main);
binding.setClickListener((View v) -> Toast.makeText(this, "test toast", Toast.LENGTH_SHORT).show());

在activity_main.xml中
声明将要绑定的监听器

<data>
    <variable
        name="clickListener"
        type="android.view.View.OnClickListener" />
</data>

点击事件绑定@{clickListener}

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:onClick="@{clickListener}"
    android:text="Submit" />

3 设置有ID控件的TextView的文本

在MainActivity.java中

ActivityMainBinding binding = DataBindingUtil.setContentView(this, R.layout.activity_main);
binding.tv.setText("带ID的TextView");

在activity_main.xml中

<TextView
    android:id="@+id/tv"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" />
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值