kotlin 定义接口并实现回调的例子

所属分类: 软件编程 / Android 阅读数: 70
收藏 0 赞 0 分享

开发环境 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()
   }
  })

以上这篇kotlin 定义接口并实现回调的例子就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

更多精彩内容其他人还在看

Android 动画之AlphaAnimation应用详解

本节讲解AlphaAnimation 动画,窗口的动画效果,淡入淡出什么的,有些游戏的欢迎动画,logo的淡入淡出效果就使用AlphaAnimation,具体的祥看本文,需要的朋友可以参考下
收藏 0 赞 0 分享

Android 动画之TranslateAnimation应用详解

本节讲解TranslateAnimation动画,TranslateAnimation比较常用,比如QQ,网易新闻菜单条的动画,就可以用TranslateAnimation实现,本文将详细介绍通过TranslateAnimation 来定义动画,需要的朋友可以参考下
收藏 0 赞 0 分享

Android 动画之ScaleAnimation应用详解

本节讲解ScaleAnimation 动画在应用中的实现,有需要的朋友可以参考下
收藏 0 赞 0 分享

Android 动画之RotateAnimation应用详解

本节讲解旋转动画效果RotateAnimation方法的应用,有需要的朋友可以参考下
收藏 0 赞 0 分享

Android开发之文件操作模式深入理解

本文将介绍Android开发之文件操作模式,需要了解的朋友可以参考下
收藏 0 赞 0 分享

Android应用程序窗口(Activity)窗口对象(Window)创建指南

本文将详细介绍Android应用程序窗口(Activity)的窗口对象(Window)的创建过程,需要了解的朋友可以参考下
收藏 0 赞 0 分享

android activity设置无标题实现全屏

本文将详细介绍Android如何设置Activity全屏和无标题的实现方法,需要的朋友可以参考下
收藏 0 赞 0 分享

Android启动模拟器报错解决方法

本文将详细介绍Android模拟器报"Failed To Allocate memory 8"错误的解决办法,需要了解的朋友可以参考下
收藏 0 赞 0 分享

Android如何实现非本地图片的点击态

Android如何实现非本地图片的点击态,本文提供了详细的实现代码,需要了解的朋友可以参考下
收藏 0 赞 0 分享

android viewpaper实例探讨

本文将提供一个android viewpaper实例实现过程,需要了解更多的朋友可以参考下
收藏 0 赞 0 分享
查看更多