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 に答える