android - 什么更有效:RxTextView.textChanges 或 doOnTextChanged?
问题描述
当需要收听/观看/观察编辑文本的价值时,什么更好
- 使用RxBinding (RxTextView.textChanges)
- 使用doOnTextChanged ( reviewEditText.doOnTextChanged { _, _, _, _ -> checkButtonState() })
我有一个带有几个EditTextViews的屏幕,并且想要根据这些视图的内容禁用/启用一个按钮,那么这样做更有效率吗?
解决方案
如果您使用 RxKotlin,我建议您使用 RxBinding,因为它使您能够以简单的方式组合验证:
disposable = Observables.combineLatest(
emailEditTextObservable.map { isEmailValid() },
phoneEditTextObservable.map { isPhoneValid() }) { validEmail, validPhoneNumber ->
validEmail && validPhoneNumber
}.subscribe { button.isEnabled = it }
推荐阅读
- python - 如何将多个函数的输出重定向到 python 中的字符串或标准输出?(标准输出与变量的相反)
- python - 用 groupby 平均值替换 pandas 数据框的空值
- node.js - app.use() 需要中间件函数错误
- xslt - XSLT, XPath, 使用 current() 的值进行选择和求和
- typescript - 如何判断一个值是否已设置为未定义或根本没有设置?
- react-native - 尝试运行 react native、expo、vs code、android studio 的主要问题
- r - 在 ggplot2 的第二个系列中绘制错误
- node.js - 在构建时从 url 预加载/保存图像
- spring-boot - Java 模型休眠映射问题
- java - JavaFX - 遍历 GridPane 中的文本字段并暂停更新文本