android - 带 Android 开关的 RxView

标签 android rx-java 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
                }
            });

关于android - 带 Android 开关的 RxView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51627713/

相关文章:

android - Phonegap 使用默认阅读器打开 pdf(IOS 和 Android)

android - 通过 AlarmManager 和 BroadcastReceiver 发送通知不起作用?

java - META-INF/versions/9/module-info.class : broken class file?(此功能需要ASM6)

java - 使顺序处理异步,而不使用 "parallel"运算符

android - 如何设计 Android Switch?

android - 将数据从一台 Android 设备发送到另一台

java - 使用 OutOfMemoryException 调用订阅者 onError() 时出现 IllegalStateException

rx-java - RxJava : execute a list of Single in parallel and get the results in a list in the same order

android - 如何设置开关的回收 View 以在每个开关上执行不同的功能

android - 基于主开关的灰显设置?