2012-04-05 189 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