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调用接口样例(如新建接口作为回调)

背景

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
  • asp之家 软件编程 m.aspxhome.com