DataBinding简介

优点:

  • 省去了findViewById()
  • 兼容到Android2.1(API 7)
  • 不使用反射,保证了性能
  • 支持绝大部分的 Java 写法
  • 最大程度减少绑定应用程序逻辑与视图所必需的代码
  • 支持双向绑定,即数据改变时可更新视图,反之亦然
  • 支持在任意线程更新数据(RecyclerView 和 ListView的数据除外 )
  • 避免了因数据导致的空指针,当绑定的数据无效时,视图会显示绑定数据类型的默认值

Android Studio对其的支持:

  • 语法高亮显示
  • 标记错误语法
  • XML代码补全
  • 快速跳转引用

注意:数组和通用类型(如Observable类)可能会在没有错误时显示错误。

//可设置对象 可设置工具类 还可设置封装好的对象
dataBindingView.setVariable(int variableId, @Nullable Object value)

//设置生命周期 应该和当前activity的 生命周期相同 防止内存泄漏

dataBindingView.setLifecycleOwner(@Nullable LifecycleOwner lifecycleOwner)

当变量或者 observable 发生变动时,会在下一帧触发 binding。有时候 binding 需要马上执行,这时候可以使用 dataBindingView.executePendingBindings()


版权声明:本文为u013297881原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。