在 Android 上,如果我在屏幕中添加了一个 Dialog 并打开了另一个 Activity,我如何从该 Activity 中获取所有打开的 Dialogs?
我需要关闭其中一个。
在 Android 上,如果我在屏幕中添加了一个 Dialog 并打开了另一个 Activity,我如何从该 Activity 中获取所有打开的 Dialogs?
我需要关闭其中一个。
您应该创建一个类并扩展DialogFragment
并onCreateDialog
返回您的对话框,然后使用特定标签显示此对话框片段,之后,您可以使用activity.getFragmentManager().findFragmentByTag("the tag")
.
不要持有对您的对话框(本地或全局)的引用,因为可以重新创建活动并且它会泄漏内存中的引用,只需使用 findFragment 方法获取引用即可。
如果你在一个片段中,你可以使用fragment.getChildFragmentManager(...)
并做同样的事情。祝你好运!
当另一个活动打开时,您当前的活动将进入 onPause() 状态。更多信息可以在这里找到。
在 onPause() 调用 dialog.dismiss() 中,您应该进行设置。