android kotlin 回调,利用 kotlin 的方式自定义回调事件(kotlin函数参数)

java 中自定义回调事件的写法

创建 interface类,创建 interface 对象,实现 set 方法:

924aef0c33b970e8ac7dd05adf818e28.png

使用:

c343d6f205de540d028f6e3fc3b8775d.png

kotlin 中自定义点击事件写法

依照 java 的思想(不推荐)

创建 interface类,创建 interface 可变对象(var)

d5671306acf9ac5edc365a2afbf0ebe4.png

使用:

21a20075bdfc576fcd9ec6d6d7a327b5.png

利用 kotlin 函数作为参数(强烈推荐)

来看一下系统的点击事件在 kotlin 中是什么样的:

14a0e2c0eef3856e683af2d31f01846b.png

是不是简直简洁到不像话?再看看你自己定义的点击事件回调,感觉跟还在用 java 开发一样…

下面就来看个新的写法:

创建一个函数对象,在需要回调的地方调起这个函数:

94c70fdb81deb4496a561ad297ca84a4.png

用法:

cd000624d4b5e19eba8d1f89cb2b9cc4.png

是不是比用对象表达式看起来还要简洁?

2018.12.12 更新:

上边截图里的 kotlin 点击事件回调,还有更简洁的定义方法:

915604f9c3daa8fd55237b5cdf065f3f.png

之前的写法是声明不可为 null 的函数变量,然后判断是否初始化再去 invoke 函数。

现在声明可为 null 的函数变量,在 invoke 函数的时候用 ?. 表示函数变量可空,如果没有给这个点击事件函数赋值的话,这行代码也不会引起 crash。现在连判断条件都不需要了,更精简了。

这里再说点个人经验,如果你的回调方法不止一个的话,推荐还是声明 interface 来做,这样的话都在一个 interface 里边好管理一些

以上这篇利用 kotlin 的方式自定义回调事件(kotlin函数参数)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值