kotlin 定义接口并实现回调的例子
作者:yinianjian2017 时间:2022-12-06 14:30:19
开发环境 android studio 3.0.1 已支持 kotlin
1、定义接口
interface CallBack{
fun callBack(info : String)
}
2、实现接口 : 为继承\实现
class CallBacks : CallBack{
override fun callBack(info : String){
Log.d("MainApp","current info $info")
}
}
或者
private var mCallBack = object : CallBack{
override fun callBack(info : String){
Log.d("MainApp","current info $info")
}
}
3、定义带回调方法的函数
private fun initData(callBack : CallBack):Boolean{
callBack?.callBack("我来自回调")
return true
}
4、实现回调,调用方式与实现接口对应
initData(CallBacks())
或者
initData(mCallBack)
打印结果:
补充知识:Kotlin调用接口样例(如新建接口作为回调)
背景
kotlin里调用某个java定义的接口,方式非常简单,但是调用kotlin定义的却比较麻烦。
如textView.setOnClickListener { Toast.makeText(applicationContext, "test", Toast.LENGTH_SHORT).show() }
解决方案
接口定义样例:
interface OnShakeListener {
fun onShake()
}
调用样例:
sensorHelper.setOnShakeListener(object : OnShakeListener {
override fun onShake() {
Toast.makeText(applicationContext, "test", Toast.LENGTH_SHORT).show()
}
})
来源:https://blog.csdn.net/yinianjian2017/article/details/80421541
标签:kotlin,接口,回调
0
投稿
猜你喜欢
Java工厂模式的使用细则介绍
2022-03-18 01:57:22
java 指定某个jdk版本方法
2023-10-20 08:07:28
springmvc4+hibernate4分页查询功能实现
2021-08-16 02:28:08
可伸缩的textview详解(推荐)
2021-11-06 00:34:51
java基础-数组扩容详解
2022-05-24 00:34:58
Android实现GridView中的item自由拖动效果
2022-02-15 17:50:15
Android 关闭多个Activity的实现方法
2022-02-24 21:21:19
C#数据结构之最小堆的实现方法
2023-07-15 01:59:10
SpringBoot+hutool实现图片验证码
2021-06-17 02:55:27
Java中数组的定义和使用教程(三)
2023-08-26 20:03:16
Java线程并发中常见的锁机制详细介绍
2023-07-04 05:33:33
SuperSocket入门--Telnet服务器和客户端请求处理
2021-07-24 19:35:14
如何用C#创建用户自定义异常浅析
2023-06-10 20:06:16
如何在Redis中实现分页排序查询过程解析
2022-04-13 12:08:15
C#读取或设置ScrollLock状态的方法
2023-03-14 21:41:24
OpenCV实现人脸识别简单程序
2023-07-07 00:31:12
Android基于OpenCV实现QR二维码检测
2021-12-13 07:56:39
Java实现AOP面向切面编程的实例教程
2023-02-20 19:32:38
java编程常用技术(推荐)
2023-11-06 09:03:44
c#委托与事件(详解)
2022-12-06 04:50:47