android - 如何使用 RxJava 验证输入?
问题描述
我有以下代码
submitButtonClickObservable
.withLatestFrom(txtInputChangesObservable)
.subscribe{ }
它运作良好,但我想在不使用文本输入时处理单击提交按钮并显示验证错误。是否可以只使用 Rx 而不使用变量var text: CharSequence
或访问 EditText 值?
withLatestFrom 大理石: http ://rxmarbles.com/#withLatestFrom
解决方案
我的解决方案是添加.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)
}
推荐阅读
- redirect - Google 上的操作:隐式 Oauth 流,重定向失败
- javascript - 网络应用可以访问 Oculus 接近传感器吗?
- python - 在给定正则表达式的情况下删除 pandas 中的行
- oracle - “如何修复 oracle pl/sql 中的触发器?
- ruby-on-rails - 语法错误,带有“?”的意外 tOP_ASGN 错误 在变量名中
- google-apps-script - 将值从一个工作簿粘贴到另一个工作簿底部的脚本 - 谷歌表格
- database - 我的 Firestore 安全规则中缺少什么,它拒绝每次读写?
- dialogflow-es - 如何在 index.js 中将函数拆分为另一个文件
- typescript - 为什么省略非可选函数参数时没有打字稿错误?
- hyperledger-fabric - 在 Hyperledger Fabric 中获取交易历史的算法?