android kotlin 接口回调

kotlin 接口回调的要相对于java有太多的代码简洁写  这也是新语言的优势  让语言越来越人性化简单化 在这里java的接口回调就不书写了 直接上kotlin

创建一个我们想要的回调

class MyCallBack {
         lateinit var mListen: (Int) -> Unit // 声明mListen是一个函数(单方法接口),入参类型自拟,无返回值

        fun setListeren(listener: (Int) -> Unit){
            this.mListen = listener
            this.mListen(0) //等于 mListen?.invoke(0)  X()等同于X.invoke()

        }


        //改变参数 显示监听效果
        fun changAguments(){
            mListen?.invoke(5)
        }
    }

在我们想要引用的类或者activity  and so on 引用

onCreatView{

    ......
    
    var testInt=1
    var mycallback=MyCallBack()
    mycallback.setListeren{it->

        toast(""+it)
    }

    mButton.onClick{
        mycallback.mListeren.incoke(testInt)
        testInt++
    }

}

这种方式  代码简练 甚至是粗暴 但是我喜欢 多个结果回调下一次更新 感觉可以 清点一个赞

你可能感兴趣的:(android,kotlin)