android - 使用 fragment 清除回栈

标签 android android-fragments

我将我的 Android 应用程序移植到了 hive ,并进行了一次大重构以使用 fragment 。在我以前的版本中,当我按下 Home 按钮时,我会执行 ACTIVITY_CLEAR_TOP 以重置后退堆栈。

现在我的应用只是一个带有多个 fragment 的 Activity,所以当我按下 Home 按钮时,我只需替换其中的一个 fragment 。如何在不使用带有 ACTIVITY_CLEAR_TOP 标志的 startActivity 的情况下清除我的后台堆栈?

最佳答案

I posted something similar here

来自 Joachim 的回答,来自 Dianne Hackborn:

http://groups.google.com/group/android-developers/browse_thread/thread/d2a5c203dad6ec42

我最终只是使用:

FragmentManager fm = getActivity().getSupportFragmentManager();
for(int i = 0; i < fm.getBackStackEntryCount(); ++i) {    
    fm.popBackStack();
}

但同样可以使用类似的东西:

((AppCompatActivity)getContext()).getSupportFragmentManager().popBackStack(String name, FragmentManager.POP_BACK_STACK_INCLUSIVE)

这将弹出所有状态到指定的状态。然后你可以用你想要的替换 fragment

关于android - 使用 fragment 清除回栈,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6186433/

相关文章:

java - 调用另一个 fragment 时 ListAdapter 错误

Android - 单击列表项时滑动 fragment

android - 长按 surfaceView ( android )

android - RuntimeException : Parcel android. os.Parcel:使用 android bundle 时解码未知类型代码

android - 查找违反 StrictMode 策略的内容

android - 如何使 WRAP_CONTENT 在 RecyclerView 上工作

java - 多态性如何与 Gson 一起工作(改造)

android - Android 2.2 上的 CSS3 动画闪烁(webkit-transform :translate(. .) scale(..) 同时)

fragment 动画的 Android 最佳实践

android - Activity 已被销毁异常