bingforandroid
A. android 自定义View 使用 DataBinding 笔记
在 build.gradle 文件中添加配置
系统会根据布局文件名称自动生成相应的 DataBinding 类,例如
布局文件 activity_main.xml 会生成 ActivityMainBinding 类 ,类名生成规则为驼峰命名: 文件名(首字母大写) + Binding
activity 中使用:
fragment 中使用:
这里 android:text="@{viewmodel.text}" 对text进行设置
在 Edittext 中可以使用 android:text="@={viewmodel.text}" 进行双向绑定,关键是这个 = 号;
若需要在xml布局文件中使用系统类的属性,则需要引入.例:
通过引入 <import type="android.view.View"/> 可以使用 View.VISIBLE 、 View.GONE 属性
有时候自定义view要用DataBinding时需要通过 @BindingAdapter 设置
单向绑定设置比较简单 @BindingAdapter("app:paramA") 方法名为 setParamA ,单向绑定嘛就是传入参数:
双向绑定 set 、 get 方法,最主要的是 setListeners 方法,名字可以随意,只是 @BindingAdapter 中是 "app:paramBAttrChanged" ,在属性后面跟上 AttrChanged , attrChange 为通知系统内容变更的回调,当在 MineView 内部 paramB 发生变更时,通过 attrChange 去通知对 paramB 进行绑定的对象更新自己缓存中的内容 如:
希望对您有帮助.