【问题标题】:Error: None of the following functions can be called with the arguments supplied when converted to Kotlin from Java错误:从 Java 转换为 Kotlin 时,不能使用提供的参数调用以下函数
【发布时间】:2018-05-31 13:10:41
【问题描述】:

我在这里看到了与此错误相关的其他问题,但仍然无法修复。另外,我之所以问这个问题,是因为与这里的其他问题不同,只有当我将代码从 Java 转换为 Kotlin 时才会出现此错误。

我在 Java 中使用相同的 RxJava 代码,它运行良好。 我转换为 Kotlin,它给出了这个错误 -

Kotlin 编译错误:以下函数都不能 使用提供的参数调用

var observable : Observable<Bitmap> = Observable.just(bitmap)

var observer:Observer<Bitmap> = Observer<Bitmap>() {
                fun onSubscribe(d: Disposable) {
                    disposable = d
                }
                fun onNext(orientedBitmap:Bitmap) {
                    // do something
                }
                fun onError(e:Throwable) {
                }
                fun onComplete() {

                }
            }

observable.subscribeOn(Schedulers.io())
          .observeOn(AndroidSchedulers.mainThread())

          // It shows the error here
          .subscribe(observer)

谁能解释这里出了什么问题?

【问题讨论】:

  • 您是否在订阅、onNext..等中缺少override
  • 是否有更多关于错误的信息?喜欢列出以下哪些功能?
  • 解决了。导入包时发生冲突。我也在使用架构组件中的 Observer。

标签: android kotlin rx-java android-bitmap rx-kotlin


【解决方案1】:

导入包时发生冲突。我也在使用架构组件中的 Observer。两个包的导入Observer,就解决了。

所以,对于这个 -

var observer:Observer&lt;Bitmap&gt; = Observer&lt;Bitmap&gt;()

它从架构组件中获取了观察者。

我通过这样使用它解决了它 -

var observer = object : io.reactivex.Observer<Bitmap>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-30
    • 1970-01-01
    • 1970-01-01
    • 2018-10-03
    • 2019-06-19
    • 1970-01-01
    相关资源
    最近更新 更多