私はこのように実装された ProgressDialog を持っています:
// show progress dialog while date is loading
progressDialog = ProgressDialog.show(XYActivity.this, getResources().getString(R.string.progress_dialog_please_wait), getResources().getString(R.string.progress_dialog_loading), true);
progressDialog.setOnCancelListener(new DialogInterface.OnCancelListener() {
@Override
public void onCancel(DialogInterface dialog) {
cancel(true);
Log.w(LOGTAG, "loading cancelled via back button");
}
});
progressDialog.setCancelable(true);
この ProgressDialog は AsyncTask (PreExecute) 内に実装されているため、cancel(true) メソッドは AsyncTask を停止します。これはすべてうまくいきます。
問題は、画面をランダムにタッチして ProgressDialogをキャンセルできることです。戻るボタンを押すだけでダイアログを閉じたい。私を助けてください!君たちありがとう。