gpt4 book ai didi

android - 选项卡和后退按钮。如何防止用户退出应用程序

转载 作者:搜寻专家 更新时间:2023-11-01 08:03:35 25 4
gpt4 key购买 nike

我正在使用选项卡宿主和 fragment 来显示多个页面。现在,当我按一个选项卡然后按后退按钮时,用户会退出我的应用程序。我想防止这种情况发生,所以当 fragment 堆栈中没有任何内容时,会出现一个对话框,询问用户是否要离开该应用程序。我给出的解决方案是当按下后退按钮时,我会看到现在显示的是什么 fragment ,如果是我显示对话框的任何主要选项卡。这工作正常,但我只想在按下后退按钮时仅在没有其他可显示的情况下显示对话框。我会尝试用一个例子更好地解释我自己:

假设我有标签 A、B、C、D。

对于每个选项卡,我都有一个显示其内容的 fragment :Fragment_A、Fragment_B、Fragment_C、Fragment_D。

我可以从 Fragment_A 转到 Fragment_C、Fragment_W、Fragment_Z。

现在假设我在 fragment_A 中,然后我按下一个按钮将我带到 Fragment_C。在我的堆栈中,我有:fragment_A、fragment_C。由于 fragment_C 是一个主要选项卡,当我按下后退按钮时,我的解决方案将显示对话框。但我不想要这种行为,我想回到 fragment_A。然后,如果用户再次按下后退按钮,我想显示对话框,因为我的堆栈中没有其他内容。

这是我的:

@Override
public void onBackPressed() {

Fragment currentFragment = this.getSupportFragmentManager().findFragmentById(android.R.id.tabcontent);

String fragmentTag = currentFragment.getTag().toString();


if (fragmentTag.equals(tagFragmentClients) || fragmentTag.equals(tagFragmentTasks) || fragmentTag.equals(tagFragmentSettings) || fragmentTag.equals(tagFragmentLogout)){

showDialog();

}
}

我们将不胜感激。

最佳答案

这不是正常的 android 行为,但我想你可以使用 FragmentManager getBackStackEntryCount() 方法来确定你的 backstack 的大小,如果它等于 0 你可以显示您的警报对话框。

关于android - 选项卡和后退按钮。如何防止用户退出应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17505017/

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