我想显示一个警报对话框并获取用户是否运行AsyncTask的输入。然而,无论如何,即使我把它放在if语句中,AsyncTask仍然运行。有谁知道为什么会发生这种情况?这是我的代码:我的AsyncTask即使在if语句条件未满足时也会运行
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Boolean b = false;
AlertDialog.Builder alertbox = new AlertDialog.Builder(
ThisScreen.this);
alertbox.setPositiveButton("Yes",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface arg0, int arg1) {
b = true;
}
});
alertbox.setPositiveButton("No",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface arg0, int arg1) {
b = false;
}
});
alertbox.setTitle("Title");
alertbox
.setMessage("Continue?");
alertbox.show();
if(b)
new doAsyncTask().execute;
}
});
但是,这样做的工作,如果有必要,我想提示用户。例如:如果用户没有输入重要信息,我会显示警报对话框,并询问他们是否想要运行asynctask。如果他们确实输入了所有信息,我不希望AlertDialog弹出。这意味着我需要一个if语句,这意味着回到原点。 (还是)感谢你的建议。 – NotACleverMan 2011-05-10 09:17:58
好吧,看来当我把任务放到if staement的其他部分时,它就会遵循条件。然而,只要把它放在没有别的部分,它就会不管。这解决了我的问题,但它可能不适用于其他人。谢谢。这是一个奇怪的小错误。 – NotACleverMan 2011-05-10 09:28:55