Android AsyncTask 取消消息

Android AsyncTask cancel with message

我有一个在运行时显示对话框的 AsyncTask。当我点击取消时:

 if (isCancelled()) break;

当我取消 asyncTask 时,如何在对话框(带有 "ok" 按钮)中显示消息?

谢谢

AsyncTask 有专门的方法

@Override
protected void onCancelled() {
    super.onCancelled();
    // Show the dialog
} 

onCancelled 仅在调用 cancel 时调用。但是请注意文档:在调用 cancel(boolean) 并且 doInBackground(Object[]) 完成后 UI 线程 上运行。

这意味着不会在任何线程上立即调用 onCancelled。

您只需创建一个警告对话框并将其显示在 AsyncTask 的 onCancelled 方法中

@Override
protected void onCancelled() {
    super.onCancelled();
    runOnUiThread(new Runnable() {
         @Override
         public void run() {
              dialog.show();
         }
     });
} 

要了解对话框的创建,你可以按照这个:Alert dialog with a button