我正面臨我的AsyncTask
有點問題。 我以這種方式運行的AsyncTask:AsyncTask不會收到取消
myTask = new myTask();
searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String s) {
// same as onquerychange
return true;
}
@Override
public boolean onQueryTextChange(String s) {
if (!s.isEmpty()) {
if (myTask.getStatus() == AsyncTask.Status.RUNNING ||
myTask.getStatus() == AsyncTask.Status.PENDING) {
myTask.cancel(true);
}
myTask.execute(context, s);
} else {
myTask.execute(context, "emptyquery");
}
return true;
}
});
一旦我輸入第二個字母我不斷收到:java.lang.IllegalStateException
:不能執行任務:任務已經執行(一個任務可以只執行一次)
所以我認爲它不會被取消。有什麼建議麼?謝謝
您正在調用多次asynctask – Raghunandan
無需取消線程 – QuokMoon
我看到了,但我打電話給myTask.cancel! – iGio90