获取一个打开的Dialog,没有任何引用它

时间:2011-09-19 21:11:44

标签: android android-dialog

在Android上,如果我在屏幕上添加了一个Dialog并打开了另一个Activity,那么如何从该Activity中获取所有打开的Dialog?

我需要关闭其中一个。

2 个答案:

答案 0 :(得分:1)

您应该创建一个类并扩展DialogFragment并在onCreateDialog返回您的对话框,然后显示带有特定标记的对话框片段,之后,您可以使用{{1}找到此对话框}。

不要对您的对话框(本地或全局)进行引用,因为活动可以重新创建并且它会泄漏内存中的引用,只需使用findFragment方法获取引用。

如果您在片段中,则可以使用activity.getFragmentManager().findFragmentByTag("the tag")并执行相同的操作。 祝你好运!

答案 1 :(得分:-1)

当另一个活动打开时,您当前的活动将通过onPause()状态。有关它的更多信息可以找到here

在onPause()调用dialog.dismiss()中你应该设置。