2012-04-05 199 views
0

我的AsyncTask,它是做后,我表现出onPostExecute一些警报dialoge。它工作正常。 但是,如果在doInBackground期间活动已停止,则在执行AsyncTask后,在重新启动活动后不显示警报对话框,并且如果显示对话框,则活动布局将以相同的方式变暗。安卓:警报dialoge没有显示

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; 


     } 
    } 
+0

我认为你必须删除后执行 – Khan 2012-04-05 13:18:13

+0

仍然面临着问题或解决破??? – 2012-04-05 13:56:03

回答

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(); 
+0

它不工作。 – user1315180 2012-04-05 13:01:35

+0

你的意思是取消吗?如果是这样,只是尝试覆盖onCancelled()方法。 – Mel 2012-04-05 13:18:06

+0

这将起作用,请重试,并在完成时标记正确。 – Xarialon 2012-04-05 13:27:25