当业务比较复杂,需要对多个控件进行监听的时候,比如:
业务一:我们注册的时候(手机号、邮箱、密码、确认密码)
业务二:比如填写某些地址的时候(地址、手机号、验证码、备注等)
如果我们每一个控件都需要一个监听,然后配合这些监听去实现最后的登录/添加按钮的背景变换,那么这个逻辑真的是可以折磨死人的。接下来介绍一个RxTextView(既然使用了RxJava,那么他的特性我们也要利用一下了呀),废话不多说,直接上代码
//创建输入框的监听
Observable<CharSequence> etAmoutMoney = RxTextView.textChanges(mEtAmountMoney);
//创建输入框的监听
Observable<CharSequence> tvAddress = RxTextView.textChanges(mTvAddress);
//使用combineLatest操作符,传入我们创建的那些监听 可以多个
Observable.combineLatest(etAmoutMoney, tvAddress, new Func2<CharSequence, CharSequence, Boolean>() {
@Override
public Boolean