gpt4 book ai didi

带有抽屉菜单的 Android backstack

转载 作者:太空狗 更新时间:2023-10-29 15:09:35 26 4
gpt4 key购买 nike

我有一个包含单个 Activity 的应用程序,该 Activity 使用菜单抽屉进行导航。每次单击菜单抽屉中的项目时,我都会用一个新 fragment 替换显示的 fragment 并将其添加到后台堆栈。假设我有 4 个菜单项,A B C D E,以及它们对应的 fragment 。如果用户打开 A,它最终会出现在后台堆栈中,如果用户随后单击 B,然后再次单击 A,则后台堆栈看起来像这样:A --> B --> A, fragment A 是可见的。

当用户现在使用后退按钮向后导航时,将显示第一个 fragment B。如果用户再次导航回来,他将再次看到 fragment A(他在看到 B 之前刚刚看到)。在 Activity backstack 中,用户会从 B 离开应用程序,而不是再次转到 A,因为那是他刚刚来自的地方。

添加 fragment 时,如何删除其在后台堆栈中的所有现有后台堆栈条目?我只想在后台堆栈中的每个 fragment 最多有一个条目。

如果您不明白我的意思,请随时询问。

最佳答案

示例代码:-

        Fragment newFragment;
FragmentTransaction transaction = getFragmentManager().beginTransaction();
newFragment = new MyFragment();
transaction.replace(R.id.content_frame, newFragment);
transaction.addToBackStack(null);
transaction.commit();

如果您在代码中提到了以下行,请将其删除:-

            transaction.addToBackStack(null);

关于带有抽屉菜单的 Android backstack,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18064523/

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