最新国产好看的视频,伊人天堂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類

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)論

临城县| 阜阳市| 江都市| 天祝| 河间市| 彩票| 昌邑市| 新龙县| 新龙县| 枣庄市| 上杭县| 阳高县| 九龙坡区| 呈贡县| 岑溪市| 济阳县| 营口市| 安康市| 河津市| 祥云县| 张家港市| 德江县| 长海县| 宁化县| 常德市| 托克托县| 赣州市| 金塔县| 平凉市| 新巴尔虎左旗| 建德市| 香格里拉县| 逊克县| 天镇县| 义乌市| 自治县| 衡水市| 牟定县| 平乐县| 富阳市| 马尔康县|