kotlin 定義接口并實(shí)現(xiàn)回調(diào)的例子
開(kāi)發(fā)環(huán)境 android studio 3.0.1 已支持 kotlin
1、定義接口
interface CallBack{ fun callBack(info : String) }
2、實(shí)現(xiàn)接口 : 為繼承\(zhòng)實(shí)現(xiàn)
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、定義帶回調(diào)方法的函數(shù)
private fun initData(callBack : CallBack):Boolean{ callBack?.callBack("我來(lái)自回調(diào)") return true }
4、實(shí)現(xiàn)回調(diào),調(diào)用方式與實(shí)現(xiàn)接口對(duì)應(yīng)
initData(CallBacks())
或者
initData(mCallBack)
打印結(jié)果:
補(bǔ)充知識(shí):Kotlin調(diào)用接口樣例(如新建接口作為回調(diào))
背景
kotlin里調(diào)用某個(gè)java定義的接口,方式非常簡(jiǎn)單,但是調(diào)用kotlin定義的卻比較麻煩。
如textView.setOnClickListener { Toast.makeText(applicationContext, "test", Toast.LENGTH_SHORT).show() }
解決方案
接口定義樣例:
interface OnShakeListener { fun onShake() }
調(diào)用樣例:
sensorHelper.setOnShakeListener(object : OnShakeListener { override fun onShake() { Toast.makeText(applicationContext, "test", Toast.LENGTH_SHORT).show() } })
以上這篇kotlin 定義接口并實(shí)現(xiàn)回調(diào)的例子就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- kotlin延遲初始化和密封類(lèi)詳細(xì)講解
- Kotlin淺析延遲初始化與密封類(lèi)的實(shí)現(xiàn)方法
- Kotlin 創(chuàng)建接口或者抽象類(lèi)的匿名對(duì)象實(shí)例
- Kotlin 匿名類(lèi)實(shí)現(xiàn)接口和抽象類(lèi)的區(qū)別詳解
- 解決Kotlin 類(lèi)在實(shí)現(xiàn)多個(gè)接口,覆寫(xiě)多個(gè)接口中相同方法沖突的問(wèn)題
- Kotlin 基礎(chǔ)教程之類(lèi)、對(duì)象、接口
- Kotlin中的密封類(lèi)和密封接口及其應(yīng)用場(chǎng)景
相關(guān)文章
Android實(shí)用小技巧之利用Lifecycle寫(xiě)出更好維護(hù)的代碼
lifecycle是一個(gè)類(lèi),用于存儲(chǔ)有關(guān)組件(如Activity或Fragment)的生命周期狀態(tài)的信息,并允許其他對(duì)象觀察此狀態(tài),下面這篇文章主要給大家介紹了關(guān)于Android實(shí)用小技巧之利用Lifecycle寫(xiě)出更好維護(hù)的代碼的相關(guān)資料,需要的朋友可以參考下2022-05-05Android自定義View實(shí)現(xiàn)九宮格圖形解鎖(Kotlin版)
這篇文章主要為大家詳細(xì)介紹了Android自定義View實(shí)現(xiàn)九宮格圖形解鎖,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-09-09Android開(kāi)發(fā)筆記之Fragment的使用教程
我們的Android入門(mén)一步步已經(jīng)進(jìn)入中級(jí),我們講完了所有的基本組件的基本使用、Activity、Service、BroadCast,今天我們來(lái)介紹一下Fragment的使用教程,需要的朋友可以參考下2023-05-05Android4.4開(kāi)發(fā)之電池低電量告警提示原理與實(shí)現(xiàn)方法分析
這篇文章主要介紹了Android4.4開(kāi)發(fā)之電池低電量告警提示原理與實(shí)現(xiàn)方法,結(jié)合實(shí)例形式分析了Android4.4電池電量警告的原理及相關(guān)操作技巧,需要的朋友可以參考下2017-09-09用Android MenuInflater創(chuàng)建菜單項(xiàng)的方法步驟
本篇文章小編為大家介紹,用Android MenuInflater創(chuàng)建菜單項(xiàng)的方法步驟。需要的朋友參考下2013-04-04一看就懂的Android APP開(kāi)發(fā)入門(mén)教程
這篇文章主要介紹了Android APP開(kāi)發(fā)入門(mén)教程,從SDK下載、開(kāi)發(fā)環(huán)境搭建、代碼編寫(xiě)、APP打包等步驟一一講解,非常簡(jiǎn)明的一個(gè)Android APP開(kāi)發(fā)入門(mén)教程,需要的朋友可以參考下2014-05-05Android RecyclerView使用GridLayoutManager間距設(shè)置的方法
本篇文章主要介紹了Android RecyclerView使用GridLayoutManager間距設(shè)置的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-12-12android傳送照片到FTP服務(wù)器的實(shí)現(xiàn)代碼
這篇文章主要為大家詳細(xì)介紹了android傳送照片到FTP服務(wù)器的實(shí)現(xiàn)代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-06-06Android?TextView跑馬燈實(shí)現(xiàn)原理及方法實(shí)例
字的跑馬燈效果在移動(dòng)端開(kāi)發(fā)中是一個(gè)比較常見(jiàn)的需求場(chǎng)景,下面這篇文章主要給大家介紹了關(guān)于Android?TextView跑馬燈實(shí)現(xiàn)原理及方法的相關(guān)資料,需要的朋友可以參考下2022-05-05