使用最新 com.jakewharton.rxbinding3:rxbinding:3.0.0-alpha2 库时未找到 RxTextView 和其他小部件

RxTextView and other widgets not found while using latest com.jakewharton.rxbinding3:rxbinding:3.0.0-alpha2 library

我想在我的项目中为 Android UI 小部件使用 RxJava 绑定 API。

因此请按照本网站的指导进行操作“https://github.com/JakeWharton/RxBinding

但是我无法在我的 Kotlin 文件中导入任何 Android UI 小部件。 如果我在 Java 文件中使用这些小部件,它工作正常。 因此,一直没有找到这个问题的实际内容。

供参考,以下是在同一项目中使用的 gradle 文件和 class 文件(kotlin 和 java)

build.gradle

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation"org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
    implementation 'androidx.appcompat:appcompat:1.0.0-beta01'
    implementation 'androidx.core:core-ktx:1.2.0-alpha01'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'androidx.test:runner:1.1.0-alpha4'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.0-alpha4'
    implementation 'io.reactivex.rxjava2:rxjava:2.2.8'
    implementation 'io.reactivex.rxjava2:rxandroid:2.1.1'
    //RxBinding
    implementation 'com.jakewharton.rxbinding3:rxbinding:3.0.0-alpha2'
}

BindingExample.java class

RxBindingExample.kt class

已尝试在 S.O 上探索此问题。但问题或解决方案可用于以前版本的 lib 'com.jakewharton.rxbinding2:rxbinding'

检查此参考资料: https://github.com/JakeWharton/RxBinding/blob/master/rxbinding/src/main/java/com/jakewharton/rxbinding3/widget/TextViewTextChangeEventObservable.kt

不同语言有不同的使用方式,注意开头的@file:JvmName("RxTextView")。如果你使用 java,那么 class RxTextView 是可见的,在 kotlin 中你应该使用 lib 提供的扩展函数,textChangeEvents() 就是一个例子。

像这样,这将获得可观察的,例如:

val someTextView = TextView(context)
someTextView.textChangeEvents()

编辑:

我引用的旧 class 似乎已被删除,这是另一个: https://github.com/JakeWharton/RxBinding/blob/master/rxbinding/src/main/java/com/jakewharton/rxbinding4/widget/TextViewAfterTextChangeEventObservable.kt