首页 > 解决方案 > 如何将回调转换为 kotlin

问题描述

我需要向 Kotlin 提出这个请求:

One one = One.getInstance(getApplicationContext());
one.sendInteraction("/interactionName", new GetCallback<ResponseObject>() {

    public void done(ResponseObject response, ThunderheadException e) {
        if (e == null) {
             // Success!
            one.processResponse(response);
        } else {
            // Failure!
        }
    }
});

当我尝试在 Android Studio 翻译器上进行转换时,代码不太适合。我是 Kotlin 的新手,我尝试了一些方法但总是失败。我的问题是回调方法

new GetCallback<ResponseObject>() { public void done(ResponseObject response, ThunderHeadException e){...}}`

你能帮我找到在 Kotlin 中做到这一点的方法吗?

标签: androidkotlin

解决方案


通常,您使用 object 关键字来实现接口。它可能看起来像这样:

one.sendInteraction("/interactionName", object : GetCallback<ResponseObject> {
    // ...
})

然后按照 IntelliJ 的自动完成说明覆盖这些函数。


推荐阅读