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

Я хочу использовать 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

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

Класс RxBindingExample.kt

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

Пытались изучить этот вопрос на S.O. но вопросы или решения доступны для предыдущей версии библиотеки 'com.jakewharton.rxbinding2: rxbinding'

Пробовали ли вы вручную добавить тот же импорт из первого примера?

Luciano Ferruzzi 28.05.2019 13:39

@LucianoFerruzzi: Да, я тоже пробовал, но показал ту же ошибку «Неразрешенная ссылка: RxTextView» в строке импорта.

A.R. 28.05.2019 13:47
11
2
3 924
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Проверьте эту ссылку: 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().

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

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

Редактировать:

Кажется, старый класс, на который я ссылался, был удален, вот еще один: https://github.com/JakeWharton/RxBinding/blob/master/rxbinding/src/main/java/com/jakewharton/rxbinding4/widget/TextViewAfterTextChangeEventObservable.kt

Другие вопросы по теме