我有3个自定义对话框(DialogFragment)。所有都不可取消,因为有必要用户无法关闭它们。第一个对话框开始第二个,第二个对话框开始第三个。现在我想回到上一个对话框,如果我正在使用backclick。此刻我有两种选择,但两种方法都不合适:
我从一个对话框开始新的,但从不打电话给解雇。 - >因此,在下一个对话框的背景中始终是上一个对话框的视图
如果我开始下一个对话框,我会调用dismiss,但是他不会返回上一个对话框,但会关闭对话框。
我该怎么做才能启动新对话框,因此,第一个对话框不可见,但如果我再次单击,对话框会再次显示?
非常感谢你的帮助:))
答案 0 :(得分:5)
当你从第二个对话框前进到第三个对话框时,你可以关闭第二个对话框,这样你就不会在第三个对话框中看到它。
稍后如果您需要返回第二个对话框,可以在关闭第三个对话框之前重新启动它,就像从第一个对话框转到第二个对话框时启动它一样。
要覆盖对话框的onBackPressed,您需要执行以下操作:
dialog.setOnCancelListener(new DialogInterface.OnCancelListener()
{
@Override
public void onCancel(DialogInterface dialog)
{
// OVERRIDE CODE
}
});
因此工作流程将是这样的
然后如果你需要回去,你可以:
依此类推,直到你回到第一个对话框。
我希望这对您有意义,如果没有,请给我们一些代码,以便我们可以提供有关您项目的更多详细信息:)