2016-07-28 90 views
0

应用程序通过使用代码dialog.show(getActivity().getSupportFragmentManager(), TAG);conditional statementOnStart方法的片段显示自定义对话框。Android:自定义对话框显示在后退导航

但问题是,在解散片段并导航到任何其他Activity并单击后退按钮后,即使conditional statement为假,也会再次显示自定义对话框。

如何禁止显示对话框。

+0

plese更新代码。你可以在对话框中创建 – DKV

+0

@VV,在执行'onCreate'代码后仍然会显示对话框。 – bashahul

+0

取悦向上日期代码 – DKV

回答

0

在onStop和onPause通过dialog.dismiss()取消对话框。创建对话框的全局对象。 原因是你的对话从来没有被解雇过,并且它保持在你的活动中,所以当你回来时它就会显示出来。

+0

根据这个答案从'onStop'和'onPause'调用'dialog.dismiss()'解决了这个问题。 但即使在导航到任何其他活动之前,该对话已从“DialogFragment”本身的代码中消除,但对话仍然出现在后退导航中。 – bashahul

+0

如果对话框被解除,那么必须在代码中调用show函数。否则,对话框不能重新出现。 –

+0

为了实验目的,我回到我的旧代码并调试应用程序, 1)通过调用'alertDialogObject.dismiss'在DialogFragment派生类中废除对话框2)在导航到另一个活动后,点击后退按钮,对话框显示方法没有执行,'DialogFragment'派生类的'onCreateDialog'没有被调用。但Dialog在那里。 这对我来说有些奇怪。 – bashahul

0

对话框关闭后,您是否将您的条件设置为false?

+0

是的,在显示对话框后,条件变为false。单击后退按钮时,检查此条件并将其评估为false,并且对话框显示代码未执行,但仍显示对话框。 – bashahul