我在我的Android应用程序中使用SearchView,我监视onQueryTextChange事件,我不想在每次用户输入文本时过滤结果,我想仅在用户想要过滤时过滤结果,我解决方法是每次用户输入文本时都得到时间,当时间大于1s时,我会查询结果进行搜索,我该怎么做?
答案 0 :(得分:1)
您可以创建一个timer,每次输入更改时都会重置。
Timer mTimer;
...
public boolean onQueryTextChange (String newText) {
if (mTimer != null) {
mTimer.cancel();
}
mTimer = new Timer();
mTimer.schedule(new TimerTask() {
@Override
public void run() {
search(newText);
}
}, 1000);
...
}
您也可以使用onQueryTextSubmit
仅在用户需要时进行搜索。