AlertBox - 执行doInBackground()时出错

时间:2012-02-07 09:23:02

标签: java android

 public class IdAsync extends AsyncTask<String, Void, Void> {

 AlertDialog alertDialog = new AlertDialog.Builder(MainClass.this).create();

    protected Void doInBackground(String... params) {
      .
       .
      alertDialog.setTitle("Reset...");
            alertDialog.setMessage("R u sure?");
             alertDialog.setButton("OK", new DialogInterface.OnClickListener() {
              public void onClick(DialogInterface dialog, int which) {

                   //here you can add functions

                } });

   alertDialog.show();
      .
    .}

这会产生运行时错误 E / AndroidRuntime(16606):在android.app.Dialog.show(Dialog.java:241)

2 个答案:

答案 0 :(得分:2)

方法doInBackground用于执行后台任务。要在AsyncTask中更新UI,请使用onProgressUpdate方法。请参阅http://developer.android.com/reference/android/os/AsyncTask.html#onProgressUpdate(Progress ...)

答案 1 :(得分:1)

您好应该在AsyncTask的onPostExecute,onPreExecute或onProgressUpdate方法中执行该对话框以更新UI。 不在doInBackGround。