kotlin 无参接口回调使用

2022-04-07  本文已影响0人  清朝公主大清正黄旗

此方式仅适用单个方法

1、无参,无返回值

   fun setClickListener(listener: () -> Unit) {
        this.listener = listener
    }

   private lateinit var listener: () -> Unit

// 使用的时候:
listener.invoke()

2、有参、无返回值

    private lateinit var listener: (position:Int) -> Unit   

    fun setClickListener(listener: (position:Int) -> Unit) {
        this.listener = listener
    }

// 使用时:
    listener.invoke(position)

3、有参、有返回值

    private lateinit var listener: (position:Int) -> Int

    fun setClickListener(listener: (position:Int) -> Int) {
        this.listener = listener
    }
// 使用时:
    listener.invoke(position)

// 外部调用时方便写法:
    view.setClickListener{position ->
        ...
        //最后需要返回值
        0                 
    }
上一篇下一篇

猜你喜欢

热点阅读