所以我想在完成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;
}
}
答案 0 :(得分:0)
我意识到经过无数个小时查看代码后,我找到了一种方法来从'AsyncTask'中恢复结果并进行测试以确保它是真或假。