我創建一個對話框,按照下面的代碼,提供一個標題和消息,這個對話框可以在任何地方被調用。
public void alertbox(String title, String mymessage)
{ new AlertDialog.Builder(this)
.setTitle(title)
.setMessage(mymessage)
.setNeutralButton(android.R.string.cancel,
new DialogInterface.OnClickListener()
{ public void onClick(DialogInterface dialog, int whichButton) {}
})
.show();
}
但是當我從另一個方法中刪除對話框時被鎖定刪除不了。
private void doCheck() {
alertbox("status", getString(R.string.checking_license));
mChecker.checkAccess(mLicenseCheckerCallback);
alertbox.dismiss();
}
是 alertbox.dismiss(); 語句導致崩潰的嗎?如何在別的方法中刪除對話框?
我不知道你這個程序是怎麼通過編譯的
alertbox.dismiss();
alertbox是什麼變量呢?
你應該在方法alertbox(String title, String mymessage)
中返回一個AlertDialog
類型的變量
然後傳遞給變量alertbox,這樣才能正確的顯示和使之消失
AlertDialog alertbox;
public AlertDialog alertbox(String title, String mymessage){
return new AlertDialog.Builder(this)
.setTitle(title)
.setMessage(mymessage)
.setNeutralButton(android.R.string.cancel,
new DialogInterface.OnClickListener(){
public void onClick(DialogInterface dialog, int whichButton) {}
})
.create();
}
private void doCheck() {
alertbox = alertbox("status", getString(R.string.checking_license));
mChecker.checkAccess(mLicenseCheckerCallback);
alertbox.dismiss();
}