ボタンを2回クリックすると、現在実行中のタスクがキャンセルされて再作成される検索タスクがあります。
if (_searchAsyncTask != null) {
// cancel if already running
_searchAsyncTask.cancel(true);
}
_searchAsyncTask = new SearchAsyncTask(this);
_searchAsyncTask.execute(data);
これは、元の非同期タスクを再度呼び出したかのように、上記のコードの最後の行で失敗しています。
java.lang.IllegalStateException: Cannot execute task: the task has already been executed (a task can be executed only once)
私は何かが足りないのですか?元のインスタンスがisCancelled()になるまで待つ必要がありますか?