【发布时间】:2018-01-04 04:04:17
【问题描述】:
有没有办法忽略之前输入的所有字符,这些字符会传递给 onQueryTextChange,直到输入最后一个字符?
例如,如果用户键入 S Y M B O L,则每次输入字符时执行一次查询,因此执行 6 次查询。我想取消前 5 个查询,只运行最后一个。
"select * from table where name LIKE :searchText || '%' order by name limit 500"
我的表中有超过 700,000 个项目,因此屏幕更新大约需要几秒钟,我希望它立即更新。 如果用户打字慢,没关系,但如果他们打字快,屏幕更新很慢。
我正在使用 RecyclerView 并且查询返回 LiveData。
我在这个特定的列上有一个索引,所以这不是问题。
有解决办法吗?
【问题讨论】:
-
是的,您可以通过
.debounceoperator.this 链接使用RxSearch来实现这一点。
标签: android searchview