gpt4 book ai didi

android - onBackpressed DialogFragment

转载 作者:行者123 更新时间:2023-11-29 15:15:17 63 4
gpt4 key购买 nike

我有 3 个自定义对话框 (DialogFragment)。所有这些都是不可取消的,因为有必要,用户不能关闭它们。第一个对话开始第二个,第二个开始第三个。现在我想回到上一个对话框,如果我正在使用 backclick。现在我有两个选择,但都不是很好:

  • 我从一个对话开始到新对话,但从不取消。 -> 所以在下一个对话框的背景中始终是上一个对话框的 View

  • 我调用 dismiss,如果我开始下一个对话框,但是他不会返回到上一个对话框,而是关闭对话框。

我该怎么做才能启动新对话框,这样第一个对话框不可见,但如果我单击后退,对话框又会再次可见?

非常感谢您的帮助:))

最佳答案

当您从第二个对话框前进到第三个对话框时,您可以关闭第二个对话框,这样您就不会在第三个对话框中看到它。

稍后如果您需要返回第二个对话框,您可以在关闭第三个对话框之前重新启动它,就像从第一个对话框转到第二个对话框时启动它一样。

为了覆盖对话框的 onBackPressed,你需要做这样的事情:

dialog.setOnCancelListener(new DialogInterface.OnCancelListener()
{
@Override
public void onCancel(DialogInterface dialog)
{
// OVERRIDE CODE
}
});

所以工作流程应该是这样的

  1. firstDialog -> startSecondDialog
  2. firstDialog.dismiss
  3. secondDialog -> startThirdDialog
  4. secondDialog.dismiss

然后如果您需要返回,您可以:

  1. thirdDialog -> startSecondDialog
  2. thirdDialog.dismiss

依此类推,直到回到第一个对话框。

我希望这对您有意义,如果没有,请给我们一些代码,以便我们可以帮助您了解与您的项目相关的更多细节:)

关于android - onBackpressed DialogFragment,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24979094/

63 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com