安卓如何检测对话框是否处于活动状态?

4

有一种通用的方法来确定当前是否显示对话框吗?当然,我可以跟踪所有createDialogdismissDialog的调用,但那很麻烦。

谢谢


这似乎是你应该知道的事情... 你是如何创建对话框并不知道它们是否显示的呢? - Falmarri
1个回答

0

我使用这个方法:

protected void showDialogSafe(int id) {
    if (!isFinishing()) {
        showDialog(id);
    }
}

我从这里获取的:http://daniel-codes.blogspot.com/2009/12/activities-and-dialogs.html

当我关闭它们时,我只是捕获IllegalArgumentException异常。

Falmarri,当你有多个线程运行时,跟踪对话框似乎比说起来容易得多。我以为我的代码完美无缺,但是当我的应用程序尝试关闭未显示的对话框或在活动完成时尝试显示对话框时,我收到了一堆崩溃报告。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接