Android kotlin协程中的跳过延迟
有没有办法跳过kotlin协同程序中的延迟Android kotlin协程中的跳过延迟,android,kotlin,kotlin-coroutines,Android,Kotlin,Kotlin Coroutines,有没有办法跳过kotlin协同程序中的延迟 setOnQueryTextListener(对象:SearchView.OnQueryTextListener{ 重写onQueryTextSubmit(查询:字符串):布尔值{ //todo:跳过延迟 返回真值 } 私有变量textChangeCountDown:作业?=null 重写onQueryTextChange(文本:字符串):布尔值{ text更改倒计时?.cancel() textchangecontdown=lifecycleScop
setOnQueryTextListener(对象:SearchView.OnQueryTextListener{
重写onQueryTextSubmit(查询:字符串):布尔值{
//todo:跳过延迟
返回真值
}
私有变量textChangeCountDown:作业?=null
重写onQueryTextChange(文本:字符串):布尔值{
text更改倒计时?.cancel()
textchangecontdown=lifecycleScope.launch{
//以下是提交查询文本时需要跳过的延迟
延迟(800)
//文本更改为$text
}
返回真值
}
})
当用户单击submit时,我想跳过延迟,如下所示:
val mDelay=延迟(800)
//mDelay.continue()
//mDelay.cancel()
有类似的功能吗?尝试使用
debounce
返回一个流,该流镜像原始流,但过滤掉给定超时内后跟新值的值。始终发出最新的值
我不知道如何在我的代码中使用
debounce
创建querytexchanged
事件流并对其进行去盎司。您当前的代码基本上可以做到这一点,但需要更多的手动工作。从querytexsubmit
执行查询,并在收集querytexchanged
的流时,检查您将要进行的查询是否与上一个已发出的查询不同。@Bouh尝试此查询