我有一个活动是持有5个片段。其中一个片段是持有5更多的碎片。如果我添加到片段管理器a. addToBackStack(空)。返回按钮返回到活动的最后一个片段,而不是从“父亲”片段的最后一个片段(即持有5更多的片段)。
有什么帮助吗。。
编辑:
ACTIVITY:
fragmentManager = getSupportFragmentManager();
fragmentManager.beginTransaction().
replace(mainContent.getId(), currentFragment)
.addToBackStack(null)
.commit();
FRAGMENT:
fragmentManager = getChildFragmentManager();
fragmentManager.beginTransaction().
replace(mainContent.getId(), currentFragment)
.addToBackStack(null)
.commit();
我认为问题可能是这里的“片段管理器”。有不止一个FragmentManager
。
有一个用于ctivity.getFragmentManager()的FragmentManager。
Fragment.getChildFragmentManager()或Fragment.getFragmentManager()。
假设您有一个活动、一个父片段和一个子片段。因此,不是活动。getFragmentManager(),我认为在您的情况下,您可能需要childFragment。getFragmentManager()或父片段。getChildFragmentManager()。
请注意,如果您使用的是支持包,则名称可能不同。
这可能就是这里提到的bug:https://code.google.com/p/android/issues/detail?id=40323
您可以通过手动处理“后退”来解决它。有关许多解决方法,请参阅此线程:Android 4.2:带有嵌套片段的后退堆栈行为
在Android中,当我们用一个新的片段替换容器视图时,我们可以使用replace()和addToBackStack(),因此按下back按钮就可以转到上一个片段。 但如果出现以下情况怎么办: 在Activity1中,我可以按下back按钮从fragment2转到fragment1。但当fragment2启动另一个活动时,从Activity2按下back按钮,它会将我带到Activity1中的fr
我想创建带有PagerView的片段,但运行以下代码会返回一个IllegalStateException: 源代码: IllegalStateException: 进程:com.company.user.blabla,pid:22256 java.lang.illegalstate异常:带有适配器的ViewPager com.company.user.blabla.fragments.homeFr
嗨,我已经在应用程序抽屉中创建了片段,现在当我按下一个片段上的后退按钮时,它正在关闭应用程序。
我在过去的两个小时里一直在试图解决这个问题。试过很多东西。 该片段似乎正在向我的适配器传递空上下文。我尝试在onCreate和onCreateView和onActivityCreated中初始化上下文变量。同样的结果。
我正在调用tabhost片段活动中的映射片段
我正试图做到这一点:http://android-er.blogspot.com/2012/06/communication-between-fragments-in.html只不过我用的是一台碎纸机 我有一个有两个片段的活动 FragmentA有一个编辑文本和一个按钮,FragmentB有一个文本视图 现在我想要的是,每当我在编辑文本中输入一些内容并单击按钮时,我的文本视图中就会出现一些内容。