我想顯示一個警報對話框並獲取用戶是否運行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