0

我有 AsyncTask,在它完成之后,我在 onPostExecute 中显示了一些警报对话框。它工作正常。但是,如果在 doInBackground 期间活动停止,则在执行 AsyncTask 后,在活动重新启动后不会显示警报对话框,并且如果正在显示对话框,活动布局也会以同样的方式变暗。

public class CheckPin extends AsyncTask<String, Void, Integer>{
        @Override
        protected Integer doInBackground(String... uri) {
            publishProgress();
            //some code
            return ret;
        }
        @Override
        protected void onProgressUpdate(Void... values) {
            super.onProgressUpdate(values);
            showDialog(CHECKING_PIN);
        }
        @Override
        protected void onPostExecute(Integer result) {
            super.onPostExecute(result);
            dismissDialog(CHECKING_PIN);
            AlertDialog.Builder mBuilder = new                    AlertDialog.Builder(EnterPin.this); 
                    mBuilder.setMessage("Error") 
                            .setCancelable(false) 
                            .setPositiveButton(getString(R.string.yes), new DialogInterface.OnClickListener() { 
                                public void onClick(DialogInterface dialog, int id) {
                                    finish();
                                } 
                            });
                        final AlertDialog mAlert = mBuilder.create(); 
                        mAlert.show();
                        break;


        }
    }
4

1 回答 1

0
AlertDialog.Builder mBuilder = new AlertDialog.Builder(CLASSNAME.this); 
mBuilder.setTitle("Error message")
        .setMessage("You've encountered a problem.") 
        .setCancelable(false) 
        .setPositiveButton("Done", new DialogInterface.OnClickListener() { 
            public void onClick(DialogInterface dialog, int id) {
                //do something...                               
            } 
})
.create().show();
于 2012-04-05T12:51:01.300 回答