带有 Android 开关的 RxView

RxView with Android Switch

如果对于一个按钮,表达式:

 yourButton.setOnclicklistener(new .....)

可以用 RxJava 写成这样:

RxView.clicks(yourButton).subscribe(....)

我想知道对于 Android Switch 是否可以使用 RxJava

编写以下表达式

普通版本:

yourSwitch.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {

            }
        });

Lambda 版本:

yourSwitch.setOnCheckedChangeListener((buttonView, isChecked) -> {

        });

RxJava 版本 ??????

您可以使用RxCompoundButton

示例:

RxCompoundButton.checkedChanges(your_switch)
            .subscribe(checked -> {
                if (checked){
                    //some code
                }else {
                    //some code
                }
            });