What is more efficient: RxTextView.textChanges or doOnTextChanged?

258 Views Asked by At

What is better when need to listen/watch/observe value of edit text

  • using RxBinding (RxTextView.textChanges)
  • using doOnTextChanged ( reviewEditText.doOnTextChanged { _, _, _, _ -> checkButtonState() })

I have a screen with several EditTextViews and want to disable/enable a button based on content of these Views, so what is more efficient to do this?

1

There are 1 best solutions below

0
ExpensiveBelly On

If you use RxKotlin, I would suggest using RxBinding because it gives you the ability to combine validations in an easy way:

disposable = Observables.combineLatest(
        emailEditTextObservable.map { isEmailValid() }, 
        phoneEditTextObservable.map { isPhoneValid() }) { validEmail, validPhoneNumber ->
        validEmail && validPhoneNumber
    }.subscribe { button.isEnabled = it }