gpt4 book ai didi

multithreading - SearchView onQueryTextSubmit 在我按下一次时运行两次

转载 作者:行者123 更新时间:2023-12-04 00:04:30 25 4
gpt4 key购买 nike

我正在编写一个搜索功能来访问图书馆网站。当提交查询字符​​串时,程序会启动一个新线程来解析网络上的信息。
它在 AVD 上正常运行,但我的 HTC DesireHD 重复显示搜索结果,(如果实际结果是 1. 2. 3. 它看起来是 1. 2. 3. 1. 2. 3.)。
我在 onQueryTextSubmit 方法上设置了断点,发现 onQueryTextSubmit() 方法中的代码被执行了两次。
这是我的代码:

sv.setOnQueryTextListener(new OnQueryTextListener(){

@Override
public boolean onQueryTextChange(String newText) {
return false;
}

@Override
public boolean onQueryTextSubmit(String query) {
list.clear();
String str = null;
try {//encoding Chinese character
str = new String(query
.trim().getBytes(), "ISO-8859-1");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
SearchPost sp = new SearchPost(SEARCH_URL + str);
new Thread(sp).start();
return false;
}
});

protected class SearchPost implements Runnable{
public String url = "";
SearchPost(String urls){
url = urls;
}
public SearchPost() {
}
@Override
public void run() {
Message message = handler.obtainMessage();
message.what = DOWNLOAD_COMPLETE;
try{
doc = Jsoup.connect(url).get();
handler.sendMessage(message);
}catch(IOException e){
e.printStackTrace();
message.what = DOWNLOAD_FAIL;
handler.sendMessage(message);
}
}
}

最佳答案

清仓焦点搜索查看 帮助过我。

sv.clearFocus();

注意:这也会隐藏键盘。

关于multithreading - SearchView onQueryTextSubmit 在我按下一次时运行两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17874951/

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