RxJava2 を使用して、ユーザー名とパスワードが十分に長い場合にログイン ボタンを有効にしたいのですが、エラーが発生します。
final Button loginButton = (Button) view.findViewById(R.id.loginbutton);
final TextView usernameField = (TextView) view.findViewById(R.id.username_logindialog);
Observable<Boolean> userNameValid = RxTextView.textChangeEvents(usernameField)
.map(e -> e.text())
.map(inputText -> inputText.length() > 4);
final TextView passwordField = (TextView) view.findViewById(R.id.password_logindialog);
Observable<Boolean> passwordValid = RxTextView.textChangeEvents(passwordField)
.map(e -> e.text())
.map(inputText -> inputText.length() > 7);
Observable<Boolean> registerEnabled =
Observable.combineLatest(userNameValid, passwordValid, (a,b) -> a && b);
registerEnabled.registerObserver( enabled -> loginButton.setEnabled(enabled));
これが表示される両方のセクションで、次map(inputText
のエラーが表示されます。
そして、エラーa && b
は
他にもエラーがありますが、最初の 2 つのエラーが根本的な原因だと思いますが、Observable.combineLatest
今の代わりに何を使用すべきかわかりません。