在asynctask中关闭对话框

时间:2011-03-26 14:21:57

标签: android

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

有人可以帮助我吗?提前谢谢。

    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;

        }
    }

1 个答案:

答案 0 :(得分:0)

我意识到经过无数个小时查看代码后,我找到了一种方法来从'AsyncTask'中恢复结果并进行测试以确保它是真或假。