【问题标题】:how does debounce without using rxjava不使用 rxjava 如何去抖动
【发布时间】:2019-10-07 08:25:58
【问题描述】:

我想在 Rxjava 中做类似于Debounce 的事情,但我不使用 rxjava 以及使用其他库。每个人都可以为我建议一些这样做的方法。

【问题讨论】:

  • 你考虑过使用 Kotlin 协程吗?

标签: java android kotlin rx-java


【解决方案1】:

您可以使用handler.postDelay()runnable 创建一个函数,如下所示:

private fun debounce(yourParams: Any, delayMillis: Long) {
        handler.removeCallbacks(runnable)
        runnable = Runnable {
            // Your code here.
        }
        handler.postDelayed(runnable, delayMillis)
    }

【讨论】:

    【解决方案2】:

    我见过一个实现,您创建一个静态变量并在单击时将其设置为 true,然后在完成时设置为 false,因为它是静态的,它会禁用所有使用此类 onClick 侦听器的视图。

    然而,RxJava 中的部分去抖动是时间相关的,所以我想你也可以添加一个计时器。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-16
      • 1970-01-01
      • 1970-01-01
      • 2020-12-05
      相关资源
      最近更新 更多