【问题标题】:Android backstack with drawer menu带有抽屉菜单的Android backstack
【发布时间】:2013-08-05 17:53:36
【问题描述】:

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

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

在添加片段时,如何删除回栈中片段的所有现有回栈条目?我只想在 backstack att al 时间中每个片段最多有一个条目。

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

【问题讨论】:

  • 你好,你发现了吗?我现在面临同样的问题:(
  • 我只是手动完成了这一切,始终自己跟踪堆栈。

标签: android fragment back-stack


【解决方案1】:

示例代码:-

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

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

            transaction.addToBackStack(null);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-24
    • 1970-01-01
    • 2015-07-22
    • 1970-01-01
    相关资源
    最近更新 更多