如何从其它的方法中删除对话框?
原问题来自于CSDN问答频道,更多解决方案见:http://ask.csdn.net/questions/1670
问题描述:
我创建一个对话框,按照下面的代码,提供一个标题和消息,这个对话框可以在任何地方被调用。
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();}