我有一個的AsyncTask我在其中顯示在onPreExecute一個ProgressDialog,並在onPostExecute再次隱藏它,像取消的AsyncTask當用戶按下後退按鈕
final class UploadTask extends AsyncTask {
ProgressDialog dialog = new ProgressDialog(...);
protected onPreExecute() {
dialog.show();
}
protected onPostExecute() {
dialog.hide();
}
};
的對話框撤銷確實消失了,當我在執行AsyncTask期間按取消按鈕。
發生這種情況時,我想運行一些代碼來取消AsyncTask(現在,即使他認爲ProgressDialog消失了,AsyncTask也會繼續運行並最終完成)。我試圖得出我自己從ProgressDialog類,然後做
setOnDismissListener(new OnDismissListener() {
@Override public void onDismiss(DialogInterface d) {
/* do something */
}
};
(或與OnCancelListener類似的東西),但是這根本不會被調用。
任何想法?我只需要一些機制讓用戶在ProgressDialog顯示時取消正在運行的AsyncTask。
一個例子用於取消的AsyncTask HTTP ://www.quicktips.in/correct-way-to-cancel-an-asynctask-in-android/ – 2016-06-29 17:17:26