欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Kotlin 使用Lambda來設(shè)置回調(diào)的操作

 更新時間:2020年03月16日 15:24:14   作者:Heiko-Android  
這篇文章主要介紹了Kotlin 使用Lambda來設(shè)置回調(diào)的操作方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

使用Kotlin的Lambda表達式,我們可以拋棄回調(diào)接口的使用。只需設(shè)置希望后面會被調(diào)用的函數(shù)即可。

示例如下

新建一個Kotlin類

class MyBean {

  fun testcallback1(callback: (String) -> Unit) {
    callback.invoke("這是回調(diào)的內(nèi)容")
  }

  fun testcallback2(value1: Int, value2: Int, callback: (Int, Int) -> Int): Int {
    var result = callback.invoke(value1, value2)
    return result * 3
  }
}

進行調(diào)用

class MainActivity : AppCompatActivity() {

  override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)

    var bean = MyBean()
    bean.testcallback1 { m -> toast(m) }

    val result = bean.testcallback2(1, 2, { value1, value2 -> value1 + value2 })
    toast("計算結(jié)果" + result.toString())
  }
} 

最后顯示的結(jié)果

testcallback1的toast顯示為: "這是回調(diào)的內(nèi)容"
testcallback2將value1和value2相加,最后再乘以3,故toast顯示為9

補充知識:kotlin 定義接口并實現(xiàn)回調(diào)

開發(fā)環(huán)境 android studio 3.0.1 已支持 kotlin

1、定義接口

interface CallBack{
  fun callBack(info : String)
}

2、實現(xiàn)接口 : 為繼承\(zhòng)實現(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("我來自回調(diào)")
  return true
}

4、實現(xiàn)回調(diào),調(diào)用方式與實現(xiàn)接口對應(yīng)

initData(CallBacks())

或者

initData(mCallBack)

打印結(jié)果:

以上這篇Kotlin 使用Lambda來設(shè)置回調(diào)的操作就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Android本地存儲方法淺析介紹

    Android本地存儲方法淺析介紹

    這篇文章主要介紹了Android本地存儲案例,方法簡單可以實現(xiàn)存儲并達到節(jié)省內(nèi)存的效果,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧
    2022-10-10
  • Android實現(xiàn)簡單QQ登錄頁面

    Android實現(xiàn)簡單QQ登錄頁面

    這篇文章主要為大家詳細介紹了Android實現(xiàn)簡單QQ登錄頁面,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-04-04
  • Android編程實現(xiàn)等比例顯示圖片的方法

    Android編程實現(xiàn)等比例顯示圖片的方法

    這篇文章主要介紹了Android編程實現(xiàn)等比例顯示圖片的方法,實例分析了Android等比例縮放圖片的具體步驟與相關(guān)技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-11-11
  • Android仿優(yōu)酷視頻的懸浮窗播放效果

    Android仿優(yōu)酷視頻的懸浮窗播放效果

    這篇文章主要介紹了Android仿優(yōu)酷視頻的懸浮窗播放效果,本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-07-07
  • Android中使用LayoutInflater要注意的一些坑

    Android中使用LayoutInflater要注意的一些坑

    LayoutInflater類在我們?nèi)粘i_發(fā)中經(jīng)常會用到,最近在使用中就遇到了一些問題,所有下面這篇文章主要給大家總結(jié)了關(guān)于Android中使用LayoutInflater要注意的一些坑,希望通過這篇能讓大家避免走一些彎路,需要的朋友可以參考學(xué)習(xí),下面來一起看吧。
    2017-04-04
  • 淺談Android中使用異步線程更新UI視圖的幾種方法

    淺談Android中使用異步線程更新UI視圖的幾種方法

    本篇文章主要介紹了淺談Android中使用異步線程更新UI視圖的幾種方法,具有一定的參考價值,有興趣的可以了解一下
    2017-08-08
  • Android中點擊按鈕啟動另一個Activity及Activity之間傳值問題

    Android中點擊按鈕啟動另一個Activity及Activity之間傳值問題

    這篇文章主要介紹了Android中點擊按鈕啟動另一個Activity及Activity之間傳值問題,本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-01-01
  • Android開發(fā)中的9個常見錯誤和解決方法

    Android開發(fā)中的9個常見錯誤和解決方法

    這篇文章主要介紹了Android開發(fā)中的9個常見錯誤和解決方法,這是Android開發(fā)中最常見的9個錯誤,經(jīng)過各種各樣的整理,以及和熱心網(wǎng)友討論總結(jié)而來,需要的朋友可以參考下
    2015-01-01
  • 淺析Android企業(yè)級開發(fā)數(shù)據(jù)綁定技術(shù)

    淺析Android企業(yè)級開發(fā)數(shù)據(jù)綁定技術(shù)

    這篇文章通過代碼實例分析了Android企業(yè)級開發(fā)數(shù)據(jù)綁定技術(shù)的應(yīng)用以及相關(guān)的原理知識,跟著小編一起學(xué)習(xí)參考下吧。
    2017-12-12
  • android自定義Camera實現(xiàn)錄像和拍照

    android自定義Camera實現(xiàn)錄像和拍照

    這篇文章主要為大家詳細介紹了android自定義Camera實現(xiàn)錄像和拍照功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-05-05

最新評論