Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/194.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
带Android开关的RxView_Android_Rx Java_Android Switch - Fatal编程技术网

带Android开关的RxView

带Android开关的RxView,android,rx-java,android-switch,Android,Rx Java,Android Switch,如果是按钮,则表达式为: yourButton.setOnclicklistener(new .....) 可以使用RxJava编写,如: RxView.clicks(yourButton).subscribe(....) 我想知道对于安卓开关是否可以使用RxJava 常用版本: yourSwitch.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { @Override

如果是按钮,则表达式为:

 yourButton.setOnclicklistener(new .....)
可以使用RxJava编写,如:

RxView.clicks(yourButton).subscribe(....)
我想知道对于安卓
开关
是否可以使用
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
                }
            });

谢谢,你能延长一点吗?如何获取交换机的选中状态以执行一个或另一个操作,具体取决于
isChecked()=true/false
RxCompoundButton.checkedChanges(binding.settingsSw).subscribe(checked->Log.d(“A”,checked.toString());谢谢,被接受的答案,也谢谢@DhirajSharma