gpt4 book ai didi

android - RxBinding 与 RadioGroup 和 CheckBoxes

转载 作者:太空狗 更新时间:2023-10-29 13:50:46 28 4
gpt4 key购买 nike

我在我的项目中使用 butterknife 实现了 rxjava,如下所示:

@BindView(R.id.login_et)
EditText mLoginField;

@BindView(R.id.password_et)
EditText mPassField;

@BindView(R.id.login_bt)
Button mLoginButton;

@BindDrawable(R.drawable.error)
Drawable mInvalidField;

@BindDrawable(R.drawable.check_green)
Drawable mValidField;

并像这样验证我的输入字段和按钮:

rx.Observable<CharSequence> loginObservable = RxTextView.textChanges(mLoginField);
loginObservable.map(this::isValidLogin)
.subscribe(isValid -> mLoginField.setCompoundDrawablesRelativeWithIntrinsicBounds(null, null, (isValid? mValidField : mInvalidField), null));

rx.Observable<CharSequence> passwordObservable = RxTextView.textChanges(mPassField);
passwordObservable.map(this::isValidPassword)
.subscribe(isValid -> mPassField.setCompoundDrawablesRelativeWithIntrinsicBounds(null, null, (isValid ? mValidField : mInvalidField), null));

rx.Observable<Boolean> combinedObservables = rx.Observable.combineLatest(loginObservable, passwordObservable, (o1, o2) -> isValidLogin(o1) && isValidPassword(o2));
combinedObservables.subscribe(isColorChanged -> mLoginButton.setBackgroundColor(isColorChanged ? getResources().getColor(R.color.red): getResources().getColor(R.color.green)));

我的 Activity 布局中有一个 radio 组和三个微调器,我很困惑如何在 radio 组和微调器上执行 RxBindings 以进行表单验证。

最佳答案

I am confused how to do RxBindings on the radiogroup and spinner

这是您监听 CheckBox 更改的方式:

 RxCompoundButton.checkedChanges(checkbox)
.subscribe(new Consumer<Boolean>() {
@Override
public void accept(Boolean isChecked) throws Exception {

}
});

您可以通过以下方式收听 Spinner 选择: RxBindings For Spinner?

关于android - RxBinding 与 RadioGroup 和 CheckBoxes,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47809259/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com