android - PopBackStack 但在 android 中保留第一个 fragment

标签 android android-fragments android-fragmentactivity back-stack fragment-backstack

我在做 FragmentTransaction ,后台是这样的:

fragA => fragB => fragC => fragD

我想在从 fragD 回来后回到 fragA

fragD => onBackPress => fragA

所以,我尝试了如下代码:

getChildFragmentManager().popBackStack(null, FragmentManager.POP_BACK_STACK_INCLUSIVE);

但是它清除了所有的后台堆栈,我怎样才能将第一个 fragment 保留在后台堆栈中?非常感谢

最佳答案

例如您可以执行以下操作:

  • 添加 fragA 但不将其添加到 backStack。所以它总是在
    Activity ,并且不会对后退按钮使用react。
  • 当你打开 fragD 时,你应该 clear fragment BackStack .因此,当您从 D frag 按下后退按钮时,您会返回到 A。

附言还有其他方法可以做你想做的事。这取决于...

关于android - PopBackStack 但在 android 中保留第一个 fragment ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28360913/

相关文章:

android - Notification.Builder setTicker 在 Android 5 及更高版本中仍然有用吗?

android - 从 fragment 启动时无法找到明确的 Activity 类

java - fragment Activity 的简单时间选择器

android - getSupportFragmentManager() 在待机后包含空 fragment

java - 未从 fragment 调用 onActivityResult

android - 无法启动服务 Intent { flg=0x4 cmp=com.UserLogin/.BgService (has extras) } : not found

java - 在 Android 中创建自己的样式

Android - 使用匿名类的 fragment 交互

android - 在图像阅读器中将帧从 YUV_420_888 格式错误转换为 NV21

android - 在 fragment 上调用注册/注销事件总线的最佳方法是什么?