-
设置数据的两种方法:1. setXXX;2. setVariable。
查看全部 -
UI/事件的绑定
查看全部 -
启用DataBinding。
查看全部 -
<include
layout="@layout/include_demo"
app:student="@{student}"/>查看全部 -
事件绑定:
方法引用
android:onClick="@{presenter.onClick}"
监听器绑定
Java中:void onClickXXX(Employee employee)
layout:android:onClick="@{()->presenter.onClickXXX(employee)} //l使用Lamanda语法
说明:其中presenter和employee未layout声明的变量。
查看全部 -
变量绑定:
1. layout中增加<data></data>标签,里面声明<variable name="变量名" type="类型"/>2. 代码中为Binding对象set变量名()参数。
查看全部 -
Gradle中使能Data Binding
查看全部 -
Data Binding的劣势
1. IDE支持不完善;2. 报错信息不直接,需要仔细查;
3. 不支持重构
查看全部 -
Data Binding主要优势
查看全部 -
Databinding的用途
查看全部 -
DataBinding会自动检查空指针,但是无法避免数组越界。
查看全部 -
DataBinding中的表达式应该尽可能简单,复杂的表达式可以放到ViewModel中。<br/>查看全部
-
空合并运算符:取第一个非空的结果。查看全部
-
DataDinding的表达式缺陷:
1. 无法调用当前所在类的对象(this);
2. 无法使用父类(super);
3. 无法创建对象(new);
4. 无法显示泛型调用。
查看全部 -
主要性能2。查看全部
-
DataBinding的主要性能1。查看全部
-
DataBinding基本工作步骤。
查看全部 -
UI/事件绑定
查看全部 -
Databinding的优势。查看全部
-
DataBinding的基本用途。
查看全部 -
前置知识点
查看全部 -
无法解决数组越界的问题
查看全部 -
当前访问的属性为null时,会自动返回默认值
查看全部 -
方法调用更推荐用双冒号::,
空合并运算符:@{user.displayName??user.lastName},如果第一项不为null就取第一项的值,否则取第二项的值
Margin @dimen+@dimen
查看全部 -
https://github.com/markzhai/DataBindingSample
查看全部 -
类似方案:
ButterKnife
Android Annotations 需要代码很大改动来配合,功能比ButterKnife强大。
RoboBinding github上有
查看全部 -
Data Binding 基本用途:
去掉Activity & Fragment 内的UI代码
XML变成UI的唯一真实来源
减少定义view id的主要用途
不会因没有id而crash
劣势:
报错信息不直接
IDE不够完善
没有重构支持
查看全部 -
Observable查看全部
举报