Android(安卓)官方数据绑定 Data Binding Library
16lz
2021-01-26
DataBinding 支持 Android 2.1 (API level 7+)
并且 Gradle 1.5.0-alpha1 以上
以上条件毫无疑问不用考虑了,如果有不满足条件的请自行百度。废话不多说直接上实战
构建环境
在你的对应Module中的 build.gradle文件中添加,然后Rebuild Project就可使用DataBinding了
android { .... dataBinding { enabled = true }}
Layout 文件
<?xml version="1.0" encoding="utf-8"?>
使用dataBinding后根布局就需要改成layout,然后在
最后再在Activity的onCreate中
@Overrideprotected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); MainActivityBinding binding = DataBindingUtil.setContentView(this, R.layout.main_activity); User user = new User("Test", "User"); binding.setUser(user);}
至此即实现了显示绑定
双向绑定
只需要在@后面加一个=即可
获取view
DataBinding.id即可获取view,且自动识别类型
MainActivityBinding binding = DataBindingUtil.setContentView(this, R.layout.main_activity); binding.user
Object 对象
/** * Created by cheng on 2016/9/26. */public class User { public final String firstName; public final String lastName; public User(String firstName, String lastName) { this.firstName = firstName; this.lastName = lastName; }}
还有跟多用法请参看Android 官方文档
https://developer.android.com/topic/libraries/data-binding/index.html?hl=zh-cn#data_binding_layout_files
dataBinding特性
- 支持双向绑定
- 支持绑定Listener 事件
- 支持绑定方法
- 支持绑定属性
- 支持直接获取View 免使用findViewById
等等其他特性
更多相关文章
- Android(安卓)在低版本sdk中没有getSupportedPreviewFrameRates
- Android音乐播放器【支持:速率调节,音调调节,采样率调节】
- [WebView学习之二]:使用Web Apps 支持不同分辨率屏
- 意图对象传递数据
- Android支持AMDGPU显卡
- Android(安卓)浮动搜索框 searchable 使用。
- Android:异步加载网络资源
- Android之手机电池电量应用
- android 百度API定位以及获取天气