android data binding jetpack VIII BindingConversion
android data binding jetpack VII @BindingAdapter
android data binding jetpack V 实现recyclerview 绑定
android data binding jetpack IV 绑定一个方法另一种写法和参数传递
android data binding jetpack III 绑定一个方法
android data binding jetpack II 动态数据更新
android data binding jetpack I 环境配置 model-view 简单绑定
上一篇绑定方法使用
android:onClick="@{presenter.onClick()}"
调用到onClick时直接执行了presenter.onClick()
现在换成如下写法:
android:onClick="@{(view)->presenter.fun(view,user)}"
写法:@{()->fun()}
跟lamda表达式比较像,有点抽象不好理解。
()表示的原来方法及参数。fun()是你要调用的方法和参数。
@{()->fun(user)}
合法,该方法会调用fun并以绑定的user作为参数。
@{(view)->fun(view,user)}
前面的这对括号,是表示的系统回调onClick方法 有参数 View view
后面不用可以不写。如果用到可以起个名字带上。在后半部分可以使用。
@{(v)->fun(v,user)}用v也可以,随便。
看看实例吧:
在原来类里增加了:
在xml里如下:
view 类型必须匹配。不然报错。binding 报错很恶心的,不告诉你哪儿错了。很难找。屎一样。
想用binding来开发,提前做好心理准备,调试要命。