Как проверить ввод с помощью RxJava? - PullRequest
0 голосов
/ 07 октября 2018

У меня есть следующий код

submitButtonClickObservable
    .withLatestFrom(txtInputChangesObservable)
    .subscribe{  }

Это работает хорошо, но я хочу обработать нажатие кнопки отправки, пока ввод текста не используется, и показать ошибку проверки.Можно ли сделать это только с Rx без использования таких переменных, как var text: CharSequence или доступа к значению EditText?

withLatestFrom мрамора: http://rxmarbles.com/#withLatestFrom

1 Ответ

0 голосов
/ 08 октября 2018

Мое решение - добавить .mergeWith(Observable.just("")) к txtInputChangesObservable.И теперь блок subscribe{ } работает при нажатии кнопки, даже если пользователь не использовал ввод текста

@Test
fun textObs(){
    val submitButtonClickObservable = Observable.just(Any(), Any())
    val txtInputChangesObservable = Observable.empty<CharSequence>()
            .mergeWith(Observable.just(""))
    val testObserver = submitButtonClickObservable
            .withLatestFrom(txtInputChangesObservable).test()
    testObserver.assertValueCount(2)
}
...