我创建一个对话框,按照下面的代码,提供一个标题和消息,这个对话框可以在任何地方被调用。
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();
}
哪一句导致了崩溃……请查看logcat……
我使用 alertBox 返回对话框
public AlertDialog alertbox(String title, String mymessage)
然后不论在哪调用它,都可以参考返回对话框,需要的时候删除它。