有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

安卓如何将函数作为参数从java传递到kotlin方法?

我有一个Kotlin代码:

fun showAdWithCallback(callback:() -> Unit) {
    if (AdsPrefs.shouldShowInterstitialAd()) {
        mInterstitialAd.show()
        this.callback = callback
    } else {
        callback()
    }
}

现在我想从Java类调用这个方法。我不知道怎么称呼这个。这是我试过的

  showAdWithCallback(() -> {
        return null;
    });

但它显示了以下错误

enter image description here


共 (3) 个答案

  1. # 1 楼答案

    调用kotlin对象和调用函数

    kotlinobject.INSTANCE.showAdWithCallback(()->{
        return null;
    })
    
  2. # 2 楼答案

    错误消息是由以下代码引起的:

    showAdWithCallback(() -> {
            return null;
    });
    
  3. # 3 楼答案

    回调:()->;单位

    它是一个典型的可运行-零参数,没有返回值