问题标签 [rx-binding]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
204 浏览

java - 使用退格键清理后的 RxSearchView

我有 RxSearchView:

当我搜索单词时test,我想使用退格键清除搜索文本,问题是当搜索为空时Toast出现文本。testToastt

如何解决这个问题呢 ?

我试图使用.filter(item -> item.length() > 1),但这也不起作用,在这种情况下Toast出现在文本中te

在此处输入图像描述

0 投票
3 回答
2076 浏览

android - RxBinding TextChanges 不会继续发出文本更改

试图弄清楚为什么 RxTextView.textChanges 只发出初始值。我的理解是它应该向下游订阅发出所有新的文本更改。

这是代码

以前对此进行了编辑,以专注于我认为问题所在。这就是完整的画面。

0 投票
2 回答
1108 浏览

android - RxJava 只接受一个事件直到完成

我有一个带有 Observable 的登录屏幕,它在电子邮件和密码有效时发出项目,然后我订阅启用或禁用登录按钮。
现在,我想要一种方法来避免多次单击登录按钮(避免多次调用 web 服务并在登录后打开多个活动)。

我尝试使用 doOnNext() 禁用按钮,但它与我的验证冲突(我最终无法启用按钮)

我的代码:

我怎样才能实现这种行为?

0 投票
1 回答
668 浏览

android - 过滤 Observable使用 RxBinding 来自 EditText 的文本

我有一个对象数组,我想根据EditTextandroid 视图上的文本用户类型过滤该数组。

我认为我应该尝试将 POJO 数组转换为字符串的 Observable,这就是我所做的:

现在我想将 中的文本EditText与我在上面发布的 `professionsObservable 结合起来。

这是我正在使用的代码:

我正在使用map运算符将​​文本更改事件转换为字符串,然后对于我从正在使用的流中获得的每个字符串switchMap(因为我不关心以前搜索的结果)。然后我将所有字符串组合到一个列表中toListsubscribe问题是,当我使用的初始数组中有很多字符串并且我确实键入了符合操作员条件的文本时,它永远不会到达调用filter

这是我可能在这里错过的东西吗?

编辑:我将代码更新为:

如果我删除toList() 运营商,我的代码可以工作(进入subscribe通话),但如果我把它留在那里,它就不会了。任何人都知道为什么?

0 投票
1 回答
167 浏览

android - RxBinding:RxSearchView 的一个 rx 序列中的不同去抖动 observables?

我正在使用 RxBinding2 来监听 SearchView 中的文本变化。当用户在 EditText 中键入 smth 时,我需要使用具有不同去抖动的单独逻辑。我试过这个:

RxSearchView.queryTextChanges 覆盖了监听器,所以当然只有第二个被调用。

我可以将这两个调用searchRequestupdateUI与不同的去抖动组合成一个 rx 序列吗?我应该以某种方式使用过滤器运算符吗?

0 投票
1 回答
577 浏览

android - 如何将 LiveData 与 RxSearchView 一起使用?

我正在尝试LiveDataRxBinding库结合,我想使用RxSearchView和使用switchMap以订阅最新的 observable。我不确定我的实施是否良好。我将向您展示我的代码,请您告诉我是否还有其他方法可以实现这一目标?

编辑:我应该改用 aFlowable吗?

0 投票
1 回答
344 浏览

android - 在 Android 上使用 Reactive 绑定处理多个按钮点击

我需要在短时间内处理多个按钮点击,这样我需要获得用户点击的点击500ms次数,以减少我对后端的 API 调用次数。

我已经实现了上面的代码,但是当我单击按钮时它没有显示任何内容。当我删除.buffer(buttonStream.debounce(500, TimeUnit.MILLISECONDS))并添加.buffer(500, TimeUnit.MILLISECONDS)日志时,每 500 毫秒开始打印一次。有什么办法可以完成我的工作吗?

0 投票
2 回答
479 浏览

java - RxJava 中 debounce() 运算符的意外行为

RxBinding用来验证表单输入。

问题是当我尝试使用以下debounce()操作员时,应用程序行为不端,它不会崩溃,但应用程序会在我打开调用的活动后重新启动,setupForm() 而不会显示任何崩溃迹象。

当我删除它时,debounce()它工作得很好。

这是我的代码。

0 投票
1 回答
2889 浏览

android - 错误:com.android.dex.DexException:多个 dex 文件定义 Landroid/support/design/widget/CoordinatorLayout$HierarchyChangeListener

我已经尝试过这些解决方案 -解决方案 1 ,解决方案 2

这是我的 gradle 依赖项。

由于可能存在坐标布局重复类,我对“RxBinding 设计”依赖存在疑问,所以我认为我需要排除CoordinatorLayout$HierarchyChangeListener但不确定来自哪个依赖。

所以我需要你的帮助提前谢谢。

0 投票
2 回答
793 浏览

android - RxView.clicks() 在 onError 事件后死亡

这是使用 RxBindings 的示例 Rx 链:

单击我的刷新图标一次后,该链将不会再次运行,因为发生了终端事件。我猜我有一个错误的印象,即只要检测到点击事件就会发生订阅,并且实际上只要执行该代码块时它就会订阅。

问题是如何让我的链在每次点击时执行/重新执行,即使它遇到终端事件?寻找直观的东西。