databinding使用

  • 对于某些复杂的自定义属性 可通过 @BindingAdapter嵌套一层绑定到子view当中(逻辑有点复杂 具体可见搜索好友的titlebar的绑定)
  • 某些自定义view的子view是通过new出来的不是在xml上无法绑定 此种情况建议findviewbyid获取控件,比如titlebar的righttext
  • databinding自带的属性:adapter setOnEditorActionListener 能调用的方法直接可以使用 不需要自定义属性
  • @BindingAdapter 会有相同参数的时候谁的参数多用谁 这边方法名就随意和它无关 (一般需要加上 requireAll = false)
  • 主线程中更新数据 否则ui不会变化
  • @={} 双向绑定 目前双向绑定仅支持如text,checked,rating,progress等绑定
  • 自定义双向绑定
  • 改原有的代码时先把模块的代码抽出分好类 建议从网络请求开始
  • DataBindingUtil.setContentView 或者getRoot 报错 但是可以编译运行 某些情况需要重启
  • attr中定义好自定义属相 xml中会自动提示 注意指定好类型 一般为view

关于单元测试:

  • 单元测试中的方法不能有日志输出 单元测试时可先注销
  • jni相关的暂时不能测(某些preference 以及model调用的方法 后面解决)
  • vm中的逻辑代码编写要注意 notifyproperty不会起作用

你可能感兴趣的:(databinding使用)