如何关闭其他类中的当前对话框 - Android
我有一个自定义对话框,从中启动BackgroundWorker异步任务,并且我想关闭BackgroundWorker后执行中的当前对话框,但我不知道如何获取当前对话框,因为我在另一个类中创建了它。如何关闭其他类中的当前对话框 - Android
非常感谢。
如果您要访问您的对话框(DialogFragment扩展我猜)你有很多方法:
a)使您的BackgroundWorkerAsyncTask成为您的DialogFragment的内部类,以便能够访问您父级的属性。如果你在其他类中需要它(这就是为什么我认为你使它成为一个外部类),你可以在你的DialogFragment中有你自己的内部AsyncTask类,并从你的BackgroundWorkerAsyncTask中扩展它。
c)从您的BackgroundWorkerAsyncTask构造函数中传递您想要管理的对话框,并在您的postExecute中将其解除。
等
选择任何适合您的需求。
只需使用:
alertDialogue.dismiss();
但如何将alertDialogue与我目前打开的自定义对话框相链接? –
发布您的代码.. –
不需要我用另一个解决方案解决问题,我刚刚在我的BackgroundWorker中传递了我的Dialog的构造函数。谢谢 –
您可以通过不同的方式做到这一点。
- 通过对话框对象中的AsyncTask构造和使用该参考将其关闭。
- 传递类引用,并与refernce调用类的方法和方法中包含对话框驳回代码
您可以在该类中调用解除方法 –
确保在关闭活动之前关闭对话框,否则您将面临'android.view.WindowLeaked'异常。 –
dimiss()就足够onPostExecute – Qasim