【发布时间】:2019-10-07 08:25:58
【问题描述】:
我想在 Rxjava 中做类似于Debounce 的事情,但我不使用 rxjava 以及使用其他库。每个人都可以为我建议一些这样做的方法。
【问题讨论】:
-
你考虑过使用 Kotlin 协程吗?
标签: java android kotlin rx-java
我想在 Rxjava 中做类似于Debounce 的事情,但我不使用 rxjava 以及使用其他库。每个人都可以为我建议一些这样做的方法。
【问题讨论】:
标签: java android kotlin rx-java
您可以使用handler.postDelay() 和runnable 创建一个函数,如下所示:
private fun debounce(yourParams: Any, delayMillis: Long) {
handler.removeCallbacks(runnable)
runnable = Runnable {
// Your code here.
}
handler.postDelayed(runnable, delayMillis)
}
【讨论】:
我见过一个实现,您创建一个静态变量并在单击时将其设置为 true,然后在完成时设置为 false,因为它是静态的,它会禁用所有使用此类 onClick 侦听器的视图。
然而,RxJava 中的部分去抖动是时间相关的,所以我想你也可以添加一个计时器。
【讨论】: