最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

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

示例如下

新建一個(gè)Kotlin類(lèi)

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
  }
}

進(jìn)行調(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("計(jì)算結(jié)果" + result.toString())
  }
} 

最后顯示的結(jié)果

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

補(bǔ)充知識(shí):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é)果:

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

相關(guān)文章

最新評(píng)論

聂荣县| 翁源县| 获嘉县| 辽阳县| 隆德县| 右玉县| 泗阳县| 勃利县| 巨野县| 宜宾县| 延长县| 十堰市| 安阳市| 乐清市| 曲沃县| 平罗县| 修文县| 资溪县| 如东县| 湟源县| 大冶市| 佳木斯市| 木兰县| 伊川县| 河南省| 泰兴市| 阿勒泰市| 广汉市| 双辽市| 察哈| 剑河县| 铜鼓县| 华亭县| 神池县| 自贡市| 广宗县| 信丰县| 高陵县| 天峨县| 霸州市| 嘉定区|