2011-03-26 66 views
0

所以我想在完成我的asynctask后关闭我的对话框,但是eclipse告诉我它无法解析。所以我尝试将它移动到onCreate()活动之外,以便asynctask可以看到它,但应用程序force在运行时关闭。当我查看DDMS时,它告诉我“系统服务在创建之前不可用于激活”。关闭asynctask中的对话框

有人可以帮我在这里。先谢谢你。

private class createUser extends AsyncTask<Void, Void, Integer> { 
    int va = 0; 
    ProgressDialog dialog = ProgressDialog.show(MainActivity.this, "", 
      "Creating User...", true); 
    Toast toast = Toast.makeText(getApplicationContext(), "", 
      Toast.LENGTH_SHORT); 
    @Override 
    protected Integer doInBackground(Void... params) { 
     // TODO Auto-generated method stub 

     if (db.createUser(nameU.getText().toString(), userU.getText() 
       .toString(), emailU.getText().toString(), passU.getText() 
       .toString()) == false) { 
      va = 0; 
     } else { 
      va = 1; 
     } 



     return va; 
    } 

    protected void onPreExecute() { 
     dialog.show(); 
    } 

    protected void onPostExecute(Integer result) { 
     dialog.dismiss(); 
     if (result == 0) { 
      toast.setText("User already exists!"); 
      toast.show(); 

      va = 0; 

     } else { 
      toast.setText("Success"); 
      toast.show(); 
      createU.dismiss(); //cannot be resolve 
      va = 1; 

     } 
    } 
+0

发布您的活动代码和您看到的例外情况。 – Karan 2011-03-26 17:25:58

回答

0

我实现了通过代码找了无数个小时后,我已经找到了一种方法,从“的AsyncTask”和测试retieve结果,以确保它是真的还是假的。