Android 数据绑定 (Data Binding)
一、介绍
这篇文章说参考android官网来介绍如何使用Data Binding库来书写布局文件。并且用最少的代码来绑定你的app逻辑和layouts文件的控件。
二、使用条件
l Android 2.1(API等级7+)上
l 需要:Android Studio 1.3.0-beta1 或更高版本。
l Android Plugin for Gradle 1.5.0-alpha1 或更高
三、简单使用
步骤一:
在app中的build.gradle中添加,如下:
android {
....
dataBinding {
enabled = true
}
}
步骤二:
创建一个 POJO : User.java
private final String firstName;
private final String lastName;
public User(String firstName, String lastName) {
this.firstName = firstName;
this.lastName = lastName;
}
public String getFirstName() {
return this.firstName;
}
public String getLastName() {
return this.lastName;
}
步骤三:
在 layout 中使用 data
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@color/colorPrimary">
android:layout_height="wrap_content"
android:text="@{user.firstName}"/>
android:layout_height="wrap_content"
android:text="@{user.lastName}"/>
在 data 内描述了一个名为user的变量属性,使其可以在这个layout中使用,用法类似于 java web 的 el 表达式
步骤四:
在activity中使用MainActivityBindingbinding = DataBindingUtil.setContentView(this, R.layout.main_activity);
Useruser = new User("Test", "User");
binding.setUser(user);
MainActivityBinding 这个类在写完 layout 的时候会生成 如果是 listview 或者 recyclerview 的adapter 可以使用
ListItemBindingbinding = ListItemBinding.inflate(layoutInflater, viewGroup, false);
//or
ListItemBindingbinding = DataBindingUtil.*inflate*(layoutInflater, R.layout.***list_item***, viewGroup, **false**);
步骤五:
运行结果如图
- 赞