如何关闭其他类中的当前对话框-Android
我有一个自定义对话框,从中启动BackgroundWorker异步任务,我想在BackgroundWorker的后期执行中关闭当前对话框,但我不知道如何获取当前对话框,因为我是在另一个类中创建的 非常感谢。只需使用:如何关闭其他类中的当前对话框-Android,android,dialog,Android,Dialog,我有一个自定义对话框,从中启动BackgroundWorker异步任务,我想在BackgroundWorker的后期执行中关闭当前对话框,但我不知道如何获取当前对话框,因为我是在另一个类中创建的 非常感谢。只需使用: alertDialogue.dismiss(); 您可以通过各种方式来实现这一点 在asynctask构造函数中传递对话框对象,并使用此引用将其取消 传递类引用并使用该引用调用该类的方法,该方法包含对话框代码 如果您想访问您的对话框(我想DialogFragment extend
alertDialogue.dismiss();
您可以通过各种方式来实现这一点
如果您想访问您的对话框(我想DialogFragment extended),您有很多方法: a) 使BackgroundWorkerAsyncTask成为DialogFragment中的一个内部类,以便能够访问父级的属性 b) 如果您在其他类中需要它(这就是为什么我认为您将其作为一个外部类),您可以在DialogFragment中拥有自己的内部AsyncTask类,并从BackgroundWorkerAsyncTask扩展它 c) 从BackgroundWorkerAsyncTask传入构造函数,并在postExecute中关闭要管理的对话框 等等
选择适合您需要的选项。您可以在该类中调用Disclose方法确保在关闭活动之前关闭对话框,否则您将面临android.view.WindowLeaked异常。从onPostExecuteHow I Disclose()开始,dimiss()就足够了如果我没有对话框的引用,该对话框会出现吗?但是如何将alertDialogue与当前打开的自定义对话框链接?不需要我用其他解决方案解决问题,我只是在BackgroundWorker中传递了对话框的构造函数。谢谢你,这是awsm,伙计,坚持下去。