在Fragments中使用DIalogs

时间:2012-03-12 12:42:00

标签: java android dialog android-fragments alertdialog

在我的应用程序中,我有Activity和几个片段(Activity作为Controller和Fragments - 作为视图)

在某些片段中,我需要显示AlertDialogs和ProgressDialogs,Activity可以更改当前片段。

我的问题是:活动可以接收广播和C2DM通知,当我创建AlertDialog时,Activity可以更改片段,但Dialog会保留。因此,当用户点击某些按钮时,应用程序崩溃。

DIalogFragments就像一个简单的Dialog。

我是否手动关闭对话框或检查片段是否处于活动状态?有没有内置工具?

1 个答案:

答案 0 :(得分:1)

首先,我可能会遗漏一些东西,没有代码等等,但是......

其次:也许你不应该使用拨号?看起来像一个繁琐的用户界面。只为这些使用片段?虽然你说你正在使用DialogFragments,所以也许你已经考虑过并将它们用作“常规”片段。

第三:当显示的片段被删除/隐藏时,关闭对话框?例如,在片段或更中心的位置使用onStop()回调,您可能正在保存当前显示的片段并决定显示新片段。 通过在Dialog对象或Fragment上调用'dismiss'或在Activity中调用dismissDialog来关闭对话框。

请参阅解雇对话框:http://developer.android.com/guide/topics/ui/dialogs.html#DismissingADialog

您仍然可以在这些DialogFragments上调用dismiss。 http://developer.android.com/reference/android/app/DialogFragment.htm