首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法准确地从RxJava2迁移到RxJava3

无法准确地从RxJava2迁移到RxJava3
EN

Stack Overflow用户
提问于 2020-06-08 08:44:33
回答 1查看 1.4K关注 0票数 0

尽管已升级了依赖项,但我无法将此方法转换为RxJava3

代码语言:javascript
复制
fun setSearchField(searchField: EditText) {
        searchDisposable = searchField.afterTextChangeEvents()
            .skipInitialValue()
            .debounce(400, TimeUnit.MILLISECONDS)
            .map { it.editable()?.toString() ?: "" }
            .distinctUntilChanged()
            .observeOn(AndroidSchedulers.mainThread())
            .subscribe(::onSearchQueryUpdated)
    }

类型错配。要求: io.reactivex.rxjava3.disposables.Disposable?发现: io.reactivex.disposables.Disposable!

代码语言:javascript
复制
    def retrofit_version = '2.9.0'
    implementation "io.reactivex.rxjava3:rxjava:3.0.4"
    implementation "io.reactivex.rxjava3:rxkotlin:3.0.0"
    implementation "io.reactivex.rxjava3:rxandroid:3.0.0"
    implementation "com.jakewharton.rxbinding3:rxbinding:3.1.0"
    implementation "com.squareup.retrofit2:retrofit:$retrofit_version"
    implementation "com.squareup.retrofit2:converter-gson:$retrofit_version"
    implementation "com.github.akarnokd:rxjava3-retrofit-adapter:3.0.0"
    implementation "com.squareup.okhttp3:logging-interceptor:4.7.2"

我应该如何准确地从RxJava2中清除该项目?

我尝试使缓存失效/重新启动:什么都没有发生。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-06-08 11:07:30

依赖关系:./gradlew :依赖关系

代码语言:javascript
复制
implementationDependenciesMetadata
+--- io.reactivex.rxjava3:rxjava:3.0.4
|    \--- org.reactivestreams:reactive-streams:1.0.3
+--- io.reactivex.rxjava3:rxkotlin:3.0.0
|    \--- io.reactivex.rxjava3:rxjava:3.0.0 -> 3.0.4 (*)
+--- io.reactivex.rxjava3:rxandroid:3.0.0
|    \--- io.reactivex.rxjava3:rxjava:3.0.0 -> 3.0.4 (*)
+--- com.jakewharton.rxbinding3:rxbinding:3.1.0
|    +--- androidx.annotation:annotation:1.0.0 FAILED
|    +--- org.jetbrains.kotlin:kotlin-stdlib:1.3.41 -> 1.3.71
|    |    +--- org.jetbrains.kotlin:kotlin-stdlib-common:1.3.71
|    |    \--- org.jetbrains:annotations:13.0
|    +--- io.reactivex.rxjava2:rxjava:2.2.10
|    |    \--- org.reactivestreams:reactive-streams:1.0.2 -> 1.0.3
|    \--- io.reactivex.rxjava2:rxandroid:2.1.1
|         \--- io.reactivex.rxjava2:rxjava:2.2.6 -> 2.2.10 (*)

您看,rxbinding3有一个传递依赖于

代码语言:javascript
复制
|    +--- io.reactivex.rxjava2:rxjava:2.2.10

它覆盖了RxJava3

解决方案:

代码语言:javascript
复制
implementation 'com.jakewharton.rxbinding4:rxbinding:4.0.0'
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62258222

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档