RxJava/RxAndroid - 处理多个 EditText 更改

2024-02-08

我有 3 个 EditText 字段,并且为这些字段创建了 3 个可观察值。

    Observable<CharSequence> o1 = RxTextView.textChanges(field1);
    Observable<CharSequence> o2 = RxTextView.textChanges(field2);
    Observable<CharSequence> o3 = RxTextView.textChanges(field3);

当所有这三个字段都有一些值时,我想启用一个按钮。用户可以在字段中以任意顺序输入值。我怎样才能做到这一点?

EDIT

我使用 zip 来实现这一点。

Observable<CharSequence> o1 = RxTextView.textChanges(field1);
Observable<CharSequence> o2 = RxTextView.textChanges(field2);
Observable<CharSequence> o3 = RxTextView.textChanges(field3);
Observable.zip(o1, o2, o3, (c1, c2, c3) -> c1.length() > 0 && c2.length() > 0 && c3.length() > 0).subscribe(myButton::setEnabled)

当我在所有三个文本字段中输入某些内容时,上述情况就会起作用。例如我在所有三个文本字段中输入了 1 个字符,然后该按钮将被启用。但是当我删除三个字段中任何一个字段中的字符时。 zip 不会被调用,因为它将等待其他 2 个文本字段传输一些数据,然后再调用订阅者的 onNext 。因此,当我删除任何文本字段中的任何字符时,我希望再次禁用我的按钮。我怎样才能做到这一点?


Use CombineLatest代替zip http://reactivex.io/documentation/operators/combinelatest.html http://reactivex.io/documentation/operators/combinelatest.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

RxJava/RxAndroid - 处理多个 EditText 更改 的相关文章

  • 将原生 Twilio Android SDK 与 Flutter 集成

    我正在尝试使用 flutter 创建 IP 语音 VOIP 移动应用程序 我还没有看到 twilio 语音 api 的 flutter 插件的实现 所以我使用 MethodChannel 将我的应用程序与本机 android 语音 api
  • 中间件 API 的最佳实践是什么? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我们正在开发一个中间件 SDK 采用 C 和 Java 语言 供游戏开发人员 动画软件开发人员 阿凡达开
  • Galaxy Nexus 4.1.1 和 ISO14443 读卡器

    是否可以在 Galaxy Nexus Jelly Bean 4 1 1 移动设备和任何常规桌面非接触式读卡器 ISO 14443 A B 之间建立连接 据我所知 android不支持卡模拟模式 所以只能通过p2p模式来完成 p2p 是否基于
  • 如何在命令提示符中检查 JAVA_OPTS 值?

    我们的应用程序部署 JBoss 服务器然后抛出错误 PermGen space 然后在 jboss bat 和配置文件中设置 permgen 变量中的 java OPTS JAVA OPTs 中是否有值 assige 如何检查 如何在命令提
  • Java 中 static 关键字如何工作?

    我正在阅读Java教程 http docs oracle com javase tutorial index html从一开始我就有一个问题static字段或变量上的关键字 作为Java said here http docs oracle
  • 如何获取 Android 中临时文件的文件大小?

    如果我使用 openFileOutput 创建并写入临时文件 写入完成后如何获取文件大小 我希望这可以帮助你 File file new File selectedPath int file size Integer parseInt St
  • 更改 RowLayout SWT Java 中元素的顺序

    有没有办法更改在行布局中创建的元素的顺序 我想将其显示在元素中 首先显示 例如 如果我创建 element1 则 element2 element3 element4 我想看到的布局为 元素4 元素3 元素2 元素1 这意味着最后创建的元素
  • 错误:包 com.google.android.gms.appstate 不存在

    由于此错误 无法编译我的 android 项目 BaseGameUtils src main java com google example games basegameutils GameHelper java Error 32 39 e
  • 为什么 RMI 注册表忽略 java.rmi.server.codebase 属性

    我正在运行 java RMI 的 Hello World 示例 1 我在空文件夹中运行注册表 motta motta laptop tmp rmiregistry 2 我启动 HTTP 服务器以在运行时检索类 下载文件夹包含客户端 服务器的
  • 在Android中绘制圆角矩形

    我已经发现这个问题 https stackoverflow com questions 5618402 how to draw rounded rectangle in android ui解决方案是这段代码
  • 如何在Android data/data/project文件系统中创建文件目录和文件夹

    我正在开发一个视频编辑器程序 并且对 android 和 java 相当陌生 我希望发生的是 当用户按下 创建新项目 按钮时 会弹出一个对话框 询问用户项目的名称 我已经把那部分写下来了 但是我想要的是 当用户在该对话框上按 确定 时 我的
  • 在方法内声明类 - Final 关键字 [重复]

    这个问题在这里已经有答案了 给定方法中的以下内部类 IsSomething public class InnerMethod private int x public class Something private int y public
  • Listview里面只有一个Element

    您好 我正在尝试将列表视图放入列表视图中的列表视图中 唯一的问题是只有第一个列表视图正确显示所有元素 此后的每个列表视图仅包含一个元素 UPDATE 创建我自己的不可滚动列表视图解决了这个问题 https stackoverflow com
  • 如何使用maven创建基于spring的可执行jar?

    我有一个基于 Maven 的 Spring WS 客户端项目 我想将其打包为单个 jar 在eclipse中 一切运行正常 当我尝试将其打包为可执行 jar 时 我收到 ClassNotFound 异常 因为 Spring jar 未包含在
  • 如何从耳机插孔获取电力?

    我的问题是是否有人知道如何创建一个可以通过设备的耳机插孔发送电荷的 Android 应用程序 就像这个视频中那样 该视频展示了一款 iPhone 应用程序 可控制插入耳机插孔的 LED 我想知道如何访问该设备来发送电信号 抱歉我的英语不是我
  • Android 方向传感器的替代品是什么?

    大家好 我正在为 Android 构建 3D 游戏 我目前正在尝试在我的游戏中添加一个传感器 允许玩家倾斜机器人作为其控制 理想情况下 我想使用方向传感器 但我注意到它已被弃用 有谁知道如何检测 Android 中的倾斜并且不使用这个传感器
  • C/C++ 通过 Android NDK 在 JNI 中看不到 Java 方法

    我正在尝试从使用 NDK 构建的 C 类文件调用 Java 方法 它不断抛出常见的 未找到非静态方法 错误并导致整个 Android 应用程序崩溃 下面的代码片段 有些东西可能不需要 但我按原样保留它们 因为焦点 问题在于refreshJN
  • 按照说明后“找不到您尝试购买的商品”

    所以我按照以下说明进行操作http developer android com google play billing billing admin html http developer android com google play bi
  • 首选项和操作栏中的开/关切换按钮 - 冰淇淋三明治风格

    我指的是 ICS 手机上默认 Android 设置应用程序中看到的蓝色开 关样式 也可以在这里看到 http android developers blogspot com 2012 02 android design v2 now wit
  • java中的回调是什么[重复]

    这个问题在这里已经有答案了 可能的重复 什么是回调函数 https stackoverflow com questions 824234 what is a callback function 我已经阅读了回调的维基百科定义 但我仍然没有明

随机推荐

  • 检查变量是否属于 Typescript 中的自定义类型

    我正在尝试检查变量是否属于某种类型 Code type GeneralType SubTypeA SubTypeB type SubTypeA type1 type2 type SubTypeB type3 type4 function s
  • 在 ggplot2 示例中绘制来自 vegan 的 ordiellipse 不起作用

    我正在尝试在 ggplot 中绘制一个带有椭圆体的 pca 双图 我在中找到了一个例子这个线程在这里 https stackoverflow com questions 13794419 plotting ordiellipse funct
  • Ninject 会调用 dispose 并关闭 NHibernate Isession 吗?

    我将 ASP NET MVC 3 与 Ninject 和 NHibernate 一起使用 当想到 DI 时 我认为获得资源的人也确保关闭它 在这种情况下 Ninject 应该负责 但我不确定 Ninject 在使用 InRequestSco
  • Google日历api CalendarList列表返回空元素

    EDIT 原来的海报要求这个C 但是无论使用什么库都会出现同样的问题 其解决方案是独立于语言 使用 C 库 string service account email protected cdn cgi l email protection
  • 对话框中存在的数字选择器 (Android)

    我正在尝试在我的应用程序中实现 NumberPicker 我希望视图如图所示对话指南 http developer android com guide topics ui dialogs html 即 当我实现数字选择器时我得到什么 另外
  • 在 Javascript 中将属性附加到冒泡事件对象

    在 Chrome Firefox 中 我可以将自定义属性附加到一个处理程序中的事件对象 并在同一事件的不同处理程序中读取它们 即使事件处理是冒泡的 我不能在 IE 中做同样的事情 当事件冒泡时 我的自定义属性丢失了 您知道是否有任何解决方案
  • 从批处理文件返回错误消息

    我正在从 VBA 对批处理文件进行脱壳 以启动 exec 文件 例如 Notepad exe 如果未找到 exec 文件 我想向 VBA 返回指示或消息 到目前为止 我一直通过让bat 将消息写入文本文件 然后让VBA 检查该文件来完成此操
  • 如何正确使用 ManagedObjectID?

    我正在尝试的是这样的 1 创建一个新的托管对象 2 获取它的临时ID myMO objectID 3 将该 ID 转换为 NSURL 以便我可以保存它以供将来参考 NSManagedObjectID moID myMO objectID N
  • Hibernate - 类级别 @Where 注释未在该类的集合上强制执行?

    我在类级别使用 Where 属性注释了 Hibernate 实体 这限制了当我直接查询它时加载哪些实体 但它似乎不适用于该类的集合 这是可以预料的吗 文档对此并不清楚 http docs jboss org hibernate core 3
  • 解析/格式化日期时间时如何控制时区偏移中“:”的出现

    我正在使用一个协议 在指定日期时间信息时可以选择包含时区偏移量 我的代码是用 C 编写的 我们使用 4 0 NET 运行时 我看到有一个格式化选项 zzz http msdn microsoft com en us library 8kb3
  • 如何将嵌套字典转换为 pandas 数据框

    我正在尝试转换包含其他数据帧的数据帧 例如 id 3241234 data name carol lastname netflik office num 3543 department trigy 我尝试使用 pd DataFrame fr
  • Typo3 版本 8 登录循环

    我有一个关于 Typo3 版本 8 LTS 的问题 我已经通过安装程序工具安装并配置了 TYPO3 但是 当我在安装后尝试登录时 登录过程会卡住 我得到的唯一信息是登录按钮显示 验证登录数据 旁边有一个旋转的加载符号 有人可以帮我解决这个问
  • Ajax FormData 追加列表对象

    您好 我在将数据发布到控制器时遇到问题 现在我有以下一个模型 public class Media public int Id get set public string Category get set public string Gui
  • 就地数组重新排序?

    假设我有一个数组a长度n和第二个数组indices 也有长度n indices包含序列的一些任意排列 0 n 我想重新安排a这样它就按照指定的顺序indices 例如 使用 D 语法 auto a 8 6 7 5 3 0 9 auto in
  • 调用ActiveRecord的#relationship_ids = [1,2,3]立即保存。有什么解决方法吗?

    我在 ActiveRecord 的 relationship ids 方法中遇到了一个奇怪的问题 当您声明 has many 时会自动添加 该方法会立即保存现有记录 这给我带来了一些问题 我想知道是否有人有任何有用的建议 我正在运行 Rai
  • 这个javascript的结果是什么?

    function getAttackString var foo d322yvb34 var bar x3nj4nhj9 return The code is foo substr 3 foo length 6 bar substr 2 我
  • JAX-RS 和 JSON 搞砸了

    我已经设置了这个简单的 Java 类 import javax xml bind annotation XmlRootElement XmlRootElement public class Person private int id pri
  • 使用 jquery-uidraggable 对可拖动对象进行分组

    我想使用 jquery Draggable droppable 让用户选择一组对象 每个对象在角落里都有一个复选框 然后将所有选定的对象作为一组拖动 我一辈子都不知道该怎么做 哈哈 我认为这将导致一个可用的解决方案 在每个可拖动对象上 使用
  • jQuery 手风琴焦点

    这是我的第一篇文章 如果您想了解更多信息 请告诉我 我正在使用选择列表和 jQuery 手风琴 当用户从列表中选择一个值时 它会使用 activate 方法打开折叠面板的相关部分 除了将窗口集中在手风琴上而不是让用户留在同一个地方之外 这工
  • RxJava/RxAndroid - 处理多个 EditText 更改

    我有 3 个 EditText 字段 并且为这些字段创建了 3 个可观察值 Observable