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来开发,提前做好心理准备,调试要命。


android data binding jetpack IV 绑定一个方法另一种写法和参数传递的更多相关文章

  1. android data binding jetpack III 绑定一个方法

    第三篇 给view绑定一下方法响应. (补充:1.被绑定的方法必须是public的.   1.绑定方法可以用主语法.也可以用以下双冒号方式“::” android:onClick="@{pr ...

  2. android data binding jetpack V 实现recyclerview 绑定

    android data binding jetpack VIII BindingConversion android data binding jetpack VII @BindingAdapter ...

  3. android data binding jetpack I 环境配置 model-view 简单绑定

    android data binding jetpack VIII BindingConversion android data binding jetpack VII @BindingAdapter ...

  4. android data binding jetpack VIII BindingConversion

    android data binding jetpack VIII BindingConversion android data binding jetpack VII @BindingAdapter ...

  5. android data binding jetpack VII @BindingAdapter

    android data binding jetpack VIII BindingConversion android data binding jetpack VII @BindingAdapter ...

  6. android data binding jetpack VI 清理一些概念。BR 运算表达式

    android data binding jetpack VIII BindingConversion android data binding jetpack VII @BindingAdapter ...

  7. android data binding jetpack II 动态数据更新

    android data binding jetpack VIII BindingConversion android data binding jetpack VII @BindingAdapter ...

  8. android data binding jetpack VIIII 第一坑

    <LinearLayout android:id="@+id/ll_item_home_page_pics" android:layout_width="wrap_ ...

  9. Android Data Binding代码实践(告别findViewById)(四)

    Data Binding实战(一) Data Binding语法解析(二) Data Binding高级用法(三) 好了,继前三篇学习了Data Binding之后,我们可以发现它的强大之处有这么几点 ...

随机推荐

  1. hdfs存储与数据同步

    两个hadoop集群之间同步数据 实例为dws的 store_wt_d表 一 文件拷贝 hadoop distcp -update -skipcrccheck hdfs://10.8.31.14:80 ...

  2. Centos7下查看端口占用

    netstat -nap #会列出所有正在使用的端口及关联的进程/应用 netstat -lnp|grep 5000 这条语句的作用是查询占用5000端口的应用和进程,把5000端口替换成你要过滤的端 ...

  3. Invalid property value

    又见这个错误!头几天同事遇到这个问题,我查到去年写的并按此解决了,原文在这里,查了半天,才查出是ftShortInt造成的这个错误. 当我们在设计期将ClientQuery.Active设置为True ...

  4. 【3】Zookeeper中的角色

    一.Zookeeper角色的分类 领导者(leader) Leader服务器为客户端提供读服务和写服务. 学习者(learner) 跟随者(follower) Follower服务器为客户端提供读服务 ...

  5. 彻底卸载mysql数据库~

    以下操作以win10操作系统为例 1 停止window的MySQL服务 打开此台电脑的管理 ---> 服务和应用程序 --->服务,找到mysql的服务并停止 2 卸载MySQL安装程序 ...

  6. In Unix, what is tar, and how do I use it?

      In Unix, the name of the tar command is short for tape archiving, the storing of entire file syste ...

  7. Linux计划任务与压缩归档

    计划任务分为两种形式 第一种:定时性的:也就是例行,每隔一定的周期就要重复来做这个任务. 第二种:突发性的:临时决定,只执行一次的任务. 用到的命令有两个 at:它是一个可以处理仅执行一次的任务就结束 ...

  8. git 清除所有历史记录

    有些时候,git 仓库累积了太多无用的历史更改,导致 clone 文件过大.如果确定历史更改没有意义,可以采用下述方法清空历史, 1) 先 clone 项目到本地目录 (以名为 mylearning ...

  9. li每三个换行

      背景:鉴于有时候调取数据用table不方便,所以用的li,但是li又没有table的样式,就需要自己写了 思路:先将所有的li浮动,然后清除第3n+1的浮动(如果是四个则是4n+1) 例子: &l ...

  10. context:component-scan 注解的扫描

    <context:component-scan base-package="com.matt.cloud"/> bean-context中 spring.handler ...