猿问

Kotlin 中的 Java 接口对象

考虑我有一个如下所示的界面:


interface JSONObjectRequestListener {

    fun onSuccess()

    fun onFailure()

}

现在我的 MainActivity 中有一个方法:


fun onRequestHappen(listener: JSONObjectRequestListener)

如果这是 java,我会将这个对象传递为:


onRequestHappen(new JSONObjectRequestListener() {

    @Override

    public void onResponse() {

        // do anything with response

    }


    @Override

    public void onError() {

        // handle error

    }

});

如何在 Kotlin 中传递这个接口的对象?


注意。请不要将此标记为与此重复,因为该问题要求的与我想要的完全不同


临摹微笑
浏览 183回答 1
1回答

四季花海

你可以这样定义你的听众:val listener = object : JSONObjectRequestListener {    override fun onResponse() {        // do anything with response    }    override fun onError() {        // handle error    }}并将其传递给您的 func ,如下所示:onRequestHappen(listener)要在 func 调用中执行此操作,您可以使用以下代码片段:onRequestHappen(object : JSONObjectRequestListener {        override fun onResponse() {            // do anything with response        }        override fun onError() {            // handle error        }    })
随时随地看视频慕课网APP

相关分类

Java
我要回答