android - 使用 onBackPressed() 进行 fragment 转换

标签 android android-fragments android-activity onbackpressed

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

fragA => fragB => fragC => fragD

我想根据成功状态从 fragD 返回到 fragA:

fragD => onBackPressed() => fragA

不从返回栈中移除 fragB 和 fragC

我如何使用 FragmentActivity 来做到这一点?

最佳答案

将 fragment 添加到 backstack 时,您必须像这样指定名称:

transaction.addToBackStack(fragment_home.getClass().getName());

从堆栈中弹出时,您可以尝试使用 fragment 名称或位置。

getSupportFragmentManager().popBackStack("Name of the Fragment",
                                         FragmentManager.POP_BACK_STACK_INCLUSIVE);

这样就可以遍历栈中的任意 fragment

您也可以在 onBackPressed() 中尝试。

关于android - 使用 onBackPressed() 进行 fragment 转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37128340/

相关文章:

android - 在 Eclipse 中如何重新排列按钮?

Android Activity 堆栈操作

android - ViewPager 切换 FragmentPagerAdapter

Android:使用带有自定义适配器的 notifyDataSetChanged() 刷新 ListFragment 不起作用

java - Android设计原理以及Activity/Fragment的使用

android - Android 中的主 Activity 完成 onCreate() 之前是否可以显示一些内容?

android - onResume 中 View 为空

android - 在 android 上使用给定时间使用 AlarmManager 安排闹钟

c - Activity 选择

java - 如何在使用具有不同 fragment/布局的 View 寻呼机时传递 fragment 参数?