RxTextView и другие виджеты не найдены при использовании последней библиотеки com.jakewharton.rxbinding3: rxbinding: 3.0.0-alpha2 - PullRequest
0 голосов
/ 28 мая 2019

Я хочу использовать API привязки RxJava для виджетов пользовательского интерфейса Android в моем проекте.

Поэтому следую указаниям этого сайта 'https://github.com/JakeWharton/RxBinding'

Но яневозможно импортировать какие-либо виджеты пользовательского интерфейса Android в мой файл Kotlin. Где все работает нормально, если я использую эти виджеты в файле Java. Следовательно, не было возможности найти актуальную проблему.

Для справки ниже приведены файл gradle и файлы классов (и 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

enter image description here

RxBindingExample.kt class

enter image description here

Пробовали исследовать эту проблемуна SO, но вопросы или решения доступны для предыдущей версии lib 'com.jakewharton.rxbinding2: rxbinding'

1 Ответ

2 голосов
/ 28 мая 2019

Проверьте эту ссылку: https://github.com/JakeWharton/RxBinding/blob/master/rxbinding/src/main/java/com/jakewharton/rxbinding3/widget/TextViewTextChangeEventObservable.kt

Существуют различные способы использования в зависимости от языка, обратите внимание на @file:JvmName("RxTextView") в начале. Если вы используете java, класс RxTextView виден, в kotlin вы должны использовать функции расширения, предоставляемые библиотекой lib, textChangeEvents() является примером этого.

вот так, это приведет к наблюдению, например ::100100

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