如何在不使用 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)
}
我想在 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)
}