如何获取用户输入文本两次之间的时间?

时间:2014-12-08 07:19:24

标签: android searchview

我在我的Android应用程序中使用SearchView,我监视onQueryTextChange事件,我不想在每次用户输入文本时过滤结果,我想仅在用户想要过滤时过滤结果,我解决方法是每次用户输入文本时都得到时间,当时间大于1s时,我会查询结果进行搜索,我该怎么做?

1 个答案:

答案 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仅在用户需要时进行搜索。