mixLatest 中的可选 Observables

2023-12-22

正如 rx 中定义的 mixLatest 仅当所有值至少更改一次时才会发出。

(只要每个源 Observables 已发出至少一个 物品)

我用它来操作我的 android 视图中的视图。 例如,一旦所有可观察量发出有效值,我就会启用号召性用语按钮。否则我禁用它。

    Observable.combineLatest(
            toObservable(email),
            toObservable(username),
            toObservable(status),
            toObservable(phonenumber),
            toObservable(birthdate),
            Function5<String, String, String, String, Date, Boolean> { email, username, status, phonenumber, birthdate ->
                validator?.checkEmail(email) ?: true
                // and much more...
            }
    ).subscribeBy { ctaEnabled.set(it) }

有了这个片段ctaEnabled仅当所有值至少更改一时才设置为 true。因为仅当所有 Observables 发出至少 1 个项目时才会调用 Function5。

但是,状态和出生日期字段是可选的,不得填写。 因为所有 ObservableFields 都用 null 初始化,并且不能显式设置为 null(rxjava 2 中不允许),当用户未在其中键入文本时,不会发出状态和生日。

val status: ObservableField<String> = ObservableField()
val phonenumber: ObservableField<String> = ObservableField()
val birthdate: ObservableField<Date> = ObservableField()
// ... and so on

我考虑过使用.startWith("")这解决了字符串 Observables 的问题,因为所有字符串 Observables 至少发出一个空字符串。 但我不能将此解决方案用于日期字段,因为它可以为空。

Maybe combineLatest不是我正在寻找的操作,但我找不到处理可选可观察量的正确方法。

致以最诚挚的问候和感谢, 莫里茨


None

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

mixLatest 中的可选 Observables 的相关文章

  • 位图背景图像应支持哪些屏幕尺寸/密度组合?

    我正在编写一个应用程序 我需要一些全屏位图背景 基于我天真的阅读支持多屏 http developer android com guide practices screens support html在 Android 文档中 为了涵盖我的
  • 在Java中测试服务器是否启动的正确方法?

    简单地查看是否可以建立与网站 服务器的连接的正确方法是什么 我想要这个用于我正在编码的应用程序 如果我的网站离线 它只会提醒我 Thanks 您可以使用 HttpURLConnection 发送请求并检查响应正文中是否有该页面特有的文本 而
  • 当前版本的Android Gradle插件不支持按需配置

    升级到 Android Studio 3 1 2 后 出现以下错误 当前版本的 Android Gradle 插件不支持按需配置 因为您使用的是 Gradle 4 6 或更高版本 建议 通过在 gradle properties 文件中设置
  • 如何在 Jetpack compose 中制作 FlipCard 动画

    我有一个现有的应用程序 我在其中使用 XML 中的 Objectanimator 实现了 FlipCard 动画 如下所示 如果我点击一张卡片 它会水平翻转 但现在我想将其迁移到 jetpack compose 那么jetpack comp
  • Android WebView文件上传

    我正在开发一个 Android 应用程序 基本上它是一个WebView和一个进度条 Facebook 的移动网站 m facebook com 已加载到WebView 当我单击 选择文件 按钮上传图像时 没有任何反应 我已经尝试了所有的解决
  • 垂直从上到下线手势检测器

    我用的是 手势工具 注意到对于垂直从上到下的线无法检测 因为我在代码中使用生成的手势文件 如下所示 但无法检测垂直从上到下的线手势检测 import java util ArrayList import android app Activi
  • Flutter - 删除 ListView 中项目之间的空间

    我正在使用 ListView builder 函数来创建项目列表 然而 iOS 中每个项目之间的空间很大 截图 你知道如何删除项目吗 看来是默认的 因为我没有添加它 code 列表显示 return Scaffold body ListVi
  • Android 媒体播放器搜索栏

    我有一个创建 播放和处理媒体播放器 只是音频 的服务 但我在主要活动中有一个搜索栏 我想自然地显示音频文件的进度并允许用户搜索到不同的位置 我花了很长时间才弄清楚 将 UI 中的搜索栏连接到服务中的媒体播放器的最佳或正确方法是什么 我将这样
  • 从 Android 访问云存储

    我一直无法找到任何有关如何从 Android 应用程序使用云存储的具体文档 我确实遇到过这个客户端库 https cloud google com storage docs reference libraries然而 Google Clou
  • 运行 Android 应用程序时出现错误

    我已经使用 Eclipse 创建了一个 Android 应用程序 但应用程序未在 AVD 上运行 它显示 不幸的是已停止工作 日志猫消息如下 07 29 04 59 50 789 W dalvikvm 784 threadid 1 thre
  • 将触摸事件从 NestedScrollView 传递到父视图

    我在 NestedScrollView 下方有一个 ViewPager 宽度一些顶部填充 以及 ClipToPadding false 和透明背景 如图像 我的 ViewPager 无法获取触摸事件并且无法工作 我怎么解决这个问题 我无法更
  • 分离 Fragment 和删除 Fragment 有什么区别?

    在 Android 文档中碎片交易 http developer android com reference android app FragmentTransaction html我注意到两种非常相似的方法 detach and remo
  • Android 10 请求 ACTIVITY_RECOGNITION 权限

    我试图遵守 Google 的要求 为 Android 10 请求 ACTIVITY RECOGNITION 权限 但我似乎不明白为什么没有显示权限弹出窗口 就像其他权限 即位置 存储等 一样 我的代码是 if ContextCompat c
  • 推特更新状态

    我正在通过 twitter4j 将 Twitter 集成到 Android 我可以成功阅读我发布的推文 现在我试图用它发布推文 但我不能 我收到如下奇怪的警告 02 01 16 28 43 298 WARN System err 729 4
  • 如何获取小区广播消息?

    我尝试像模拟人生一样获取小区广播消息的文本 但它不起作用 public class SMSReceiver extends BroadcastReceiver Override public void onReceive Context c
  • 可用屏幕的尺寸

    我使用的是 Nexus 7 1280x800 android 4 2 2 API 17 我想获取屏幕的大小 将其划分为相同高度和宽度的正方形部分 我正在使用 FrameLayout 我的方块是 ImageView 的子类 我这样做 cont
  • 如何向开关对象添加/更改波纹效果

    下面是我自定义的开关 红圈是默认的波纹效果 我发现设置一个波纹可绘制作为开关的背景 控制波纹的颜色
  • 如何从图库动态卸载图像?

    我有自定义 ImageView public class ShadowedImageView extends ImageView private Paint mPaint public Bitmap bitmap null private
  • Android项目中使用java获取电脑的IP地址

    我在用ksoap2 android http code google com p ksoap2 android 我需要使用java获取IP地址 这样我就不必每次都手动输入它 我所说的 IP 地址是指 例如 如果我这样做ipconfig使用命
  • 如何从 Rx Subscribe 回调异步函数?

    我想回调 Rx 订阅中的异步函数 例如 像那样 public class Consumer private readonly Service service new Service public ReplaySubject

随机推荐

  • 将 Rust 特征传递给 C

    我正在构建一个 Rust 库 需要使用 Rust 对象调用一些 C 函数 我有一个调用 C 函数的函数的特征 C 函数在 Rust 中定义如下 extern fn process trait my trait MyTrait 这个想法是 用
  • 在搜索对话框中添加新运算符

    作为过滤器运算符 您可以从以下选项中进行选择 等于 不等于 小于 小于或等于 大于 大于或等于 开始于 不开始于 在 不 在 结束于 不结束于 包含 和 不包含 我想在此列表中添加一个额外的运算符 有人能指出我实现这一目标的正确方向吗 该应
  • 如何在字符串内迭代循环搜索固定关键字后的任何单词?

    假设我有一个字符串 PHP Paddy PHP Pranav PHP Parth 现在我的计数为3 现在我应该如何在字符串中迭代循环 瞄准 PHP 之后的字符串以显示所有名称 好的 这是字符串 BEGIN IF NEW name OLD n
  • Zend Framework - 不为控制器设置布局

    我有一个控制器 我想使用 ajax 脚本来调用和设置会话变量 获取信息等 如何设置它 以便该特定控制器不使用默认布局 特别是无布局 以便它可以来回发送 XML JSON 消息 就像与 Zend Framework 和 Zend Applic
  • 关闭内存泄漏

    我对垃圾收集语言中内存泄漏的内存 不需要的引用 泄漏的可能性感兴趣 由存储在闭包中的变量引起 可能作为对象系统的一部分或作为基于稍后评估的输入的构建操作的一部分 是否有任何语言中这种情况比较常见 如果是这样 在这些语言中需要注意哪些模式来防
  • 如何在没有包的情况下真正获取类的名称?

    我的问题故意标题几乎一模一样this one https stackoverflow com questions 2690333 how to get the name of a class without the package 但我想要
  • 模板类的成员函数何时实例化?

    考虑以下示例 template
  • 无法导入 com.google.android.maps.MapActivity

    我试着导入 com google android maps MapActivity但我的程序无法识别它 我也有
  • 为什么没有 asio::ssl::iostream? (以及如何实施)

    我目前正在探索 Asio 库 并且拥有用于常规 TCP 连接的工作代码 我用了asio ip tcp iostream对象 因为我想要传输的东西已经可以序列化到 iostreams 从 iostreams 反序列化 所以这非常方便并且对我来
  • 如何创建具有多个使用相同参数类型的构造函数的类

    我正在尝试做这样的事情 public class Arquivo private File diretorio null public Arquivo File dir this diretorio dir public Arquivo S
  • 如何将参数从活动传递给服务?

    嘿 我正在从一项活动开始一项服务 我通过以下方式从活动中调用服务startService 但我希望我的活动中的一些变量在我在活动中调用的服务代码中使用 所以请告诉我该怎么做 有没有办法将参数从调用活动传递给服务 提前致谢 您可以添加一个Bu
  • LuaSocket socket/core.dll 需要的位置?

    当我使用 local socket require socket core 它工作正常 dll 位于 dir socket core dll 但是当我移动 dll 时说 dir folder core dll 并使用 local socke
  • Jquery 和 Ajax Post 问题

    我试图在通过 ajax 从服务器返回的元素上添加单击事件 显然 我必须在返回响应中附加我的 js 文件而不是我的主脚本 这是最佳实践吗 我是否必须创建单独的 js 文件才能在返回文本上添加事件 Example 我的 Jquery selec
  • 指定 http 请求/响应的区域设置

    我有一个 ReSTful Web 服务 需要解析请求中的区域设置敏感数据 该数据可以位于 XML 正文中 也可以是查询字符串的一部分 是否有任何可接受的方法来确定发送数据的区域设置 以及扩展应发送响应的区域设置 一种选择是简单地向客户端指定
  • Java 9 接口:为什么 default 修饰符转换为 public 修饰符

    我的问题是关于interface 我创建一个接口并定义四个方法 第一个方法是private方法 第二个是default方法 第三个是static方法 第四个是abstract method 编译此接口并检查其配置文件后 default方法被
  • 如何从 XSD 创建 pojo 类?

    我正在使用 Spring maven 插件 我想从特定文件夹中指定的 xml 模式创建 POJO 类 我尝试过xjc通过java代码命令 但它不生成该类 其次 我尝试过jaxb 但它处理的是xml文件不是xsd编组 解组时的架构 我认为这不
  • Node.js / Express / Mocha / Supertest Rest API - 空请求正文

    我已经尽我所能寻找解决方案 我唯一发现的是一个未回复的帖子 如果我忽略了某些事情 我深表歉意 问题是当我尝试获取POST中的值 createQuestionAPI 主体为空 未定义 我收到这样的错误Cannot read proprety
  • cookie“.AspNetCore.Identity.Application”已设置“SameSite=None”,并且还必须设置“Secure”

    我点击了这些链接 准备您的身份服务器 https www thinktecture com en identity samesite prepare your identityserver 如何删除 Samesies cookie http
  • 在 Rails 4 中使用图像作为单选按钮标签

    我正在尝试使用助手 collection radio buttons 将图像显示为标签 并希望将 image id 保存到模型中 以便我可以检索 url 到目前为止 我已经想出了一个显示单选按钮和 image url 的方法标签 我已经注意
  • mixLatest 中的可选 Observables

    正如 rx 中定义的 mixLatest 仅当所有值至少更改一次时才会发出 只要每个源 Observables 已发出至少一个 物品 我用它来操作我的 android 视图中的视图 例如 一旦所有可观察量发出有效值 我就会启用号召性用语按钮