AlertDialog.cancel()和AlertDialog.dismiss()崩溃应用程序

时间:2013-11-24 04:36:03

标签: android

如果我有

private AlertDialog somePrompt;

后来我打电话给

somePrompt.dismiss();

somePrompt.cancel();

如果此对话框之前未显示为somePrompt.show(),则会导致应用程序崩溃。我需要确保取消或取消此对话框,以便如何检查它是否显示/可见?

1 个答案:

答案 0 :(得分:1)

您的应用很可能会崩溃,因为您没有在这些情况下初始化AlertDialog,因为您没有在其上调用show()。您可能只是在调用show(). You need to check if they are null`之前初始化它们,然后才调用它们。

if (somePrompt != null)
{
    somePrompt.dismiss();
}

如果这没有用,那么请从崩溃中发布你的logcat。

另外,如果您在调用之前需要查看是否显示,那么您可以添加isShowing支票

if (somePrompt != null && somePrompt.isShowing())
{
    somePrompt.dismiss();
}