gpt4 book ai didi

android - 使用 SearchView 在 SearchView.OnQueryTextListener 中延迟调用 onQueryTextChange()

转载 作者:可可西里 更新时间:2023-11-01 18:51:01 29 4
gpt4 key购买 nike

在我的应用程序中使用 SearchView

无论如何我可以延迟对 onQueryTextChange() 方法的调用。例如,当用户键入一系列字符时,他必须等待此方法被调用。

此等待应该取决于键入的字符数,但在命中方法之前需要稍作停顿。

我想暂停一下,因为当用户在搜索 View 中键入内容时,将向服务器发出带有字符串的请求以请求匹配的数据,然后我将根据建议填充我的 ListView。

Activity 信息(如果需要):
实现 SearchView.OnQueryTextListener

    MenuItem searchItem = menu.findItem(R.id.action_search);
SearchView searchView = (SearchView)MenuItemCompat.getActionView(searchItem);
searchView.setOnQueryTextListener(this);

最佳答案

要延迟对服务器的调用,请在 onQueryTextChange 方法中使用以下代码,变量 mQueryString 和 mHandler 必须是类变量。还要检查 mHandler!=null

@Override
public boolean onQueryTextChange(String searchTerm) {
mQueryString = searchTerm;
mHandler.removeCallbacksAndMessages(null);

mHandler.postDelayed(new Runnable() {
@Override
public void run() {
//Put your call to the server here (with mQueryString)
}
}, 300);
return true;
}

关于android - 使用 SearchView 在 SearchView.OnQueryTextListener 中延迟调用 onQueryTextChange(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30047665/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com