Dialog boxes have an onDismissed
callback, use that to kill of the async task.
Cancelling progressdialog and asynctask
-
04-07-2023 - |
質問
I am displaying a cancelable progress dialog while an asynctask is running. When I press the back button, I want both the dialog to disappear, but also to cancel the running async task. The problem is: The dialog-instance is not known to the asynctask, so I cant't cancel the dialog after the asynctask has been cancelled.
Currently it is only cancelled after I pushed the back button twice.
解決
他のヒント
You can use ProgressDialog callback on cancel:
this.dialog = new ProgressDialog(context);
this.dialog.setMessage("Loading...");
this.dialog.setCancelable(true);
this.dialog.setOnCancelListener(new DialogInterface.OnCancelListener()
{
@Override
public void onCancel(DialogInterface dialog)
{
// cancel AsyncTask
cancel(false);
}
});
所属していません StackOverflow