如何在不使用 rxjava 的情况下去抖动

how does debounce without using rxjava

我想在 Rxjava 中做一个类似于 Debounce 的事情,但我不使用 rxjava 以及使用其他库。大家可以给我推荐一些方法。

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

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

你可以用 handler.postDelay()runnable 创建一个函数,像这样:

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