Bir kütüphane web sitesine erişmek için bir arama işlevi yazıyorum.Veri sorgu dizisi gönderildiğinde, program web üzerinde infos ayrıştırmak için yeni bir iş parçacığı başlattı. normalde AVD üzerinde çalışıyor ancak HTC DesireHD cihazım arama sonuçlarını sürekli olarak gösteriyor (eğer gerçek sonuçlar 1 ise. 2. 2. gibi görünecektir. 2. 3. 1. 2. 3.). OnQueryTextSubmit yönteminde kesme noktaları belirledim, onQueryTextSubmit() yöntemindeki kodların iki kez yürütüldüğünü fark ettim. düğmesine bir kez onQueryTextSubmit iki kez ateşlenmesine neden olur tıklayarak bu olabilir OS tarafından kontrol edilmektedir olarak çözmek mümkün olmayabilir kendi başına bir sorun olmasının nedeniSearchView onQueryTextSubmit bir kez bastığımda iki kez çalıştırıyor
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);
}
}
}
Bu yöntemin yanlış değerini neden verdiniz? –