android - 如何在 Android 中将 Fragments 添加到后台堆栈

标签 android android-fragments back-stack

我使用 Sherlock Fragment 创建了一个有五个屏幕的应用程序。

我可以从一个屏幕跳到任何其他屏幕。

但我想将最后访问的 fragment 名称保存到后台堆栈,以便从当前 fragment 我可以跳回父 fragment (我来自哪里) fragment 。

我试过这段代码,

    FragmentManager fragManager = getActivity().getSupportFragmentManager();
    FragmentTransaction fragTransacion = fragManager.beginTransaction();

    FragmentManager.BackStackEntry backEntry=getFragmentManager().getBackStackEntryAt(getActivity().getFragmentManager().getBackStackEntryCount());
    String str=backEntry.getName();
    fragTransacion.addToBackStack(str);

但不幸的是我的程序停止并告诉我 NullPointerException

我怎样才能做到这一点?

这是我的日志猫,
logcat

最佳答案

你可以这样做

FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
transaction.replace(R.id.content, fragment);
transaction.addToBackStack("");
transaction.commit();

关于android - 如何在 Android 中将 Fragments 添加到后台堆栈,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22197452/

相关文章:

android - FragmentTransaction.replace()淡入过渡显示 “ghost” fragment

java - findviewbyid - 无法解析

安卓 : How to slide up a fragment?

Android fragment 导航和后台堆栈

android - 导航回 FragmentPagerAdapter -> fragment 为空

android - Shopify 客户登录

java - 屏幕上的触摸点 Google map SupportMapFragment

java - 将实时数据从主 Activity 发送到 fragment

android - 完成后如何从最近的任务中删除具有 taskAffinity 的 singleTask Activity ?

android - 使用 RectF 和 Canvas 绘制圆角矩形?