返回“大孩子”片段之间的按钮

时间:2014-10-16 18:26:49

标签: android android-fragments

我有一个活动,持有5个片段。 其中一个片段还有5个片段。 如果我添加到fragmentManager一个.addToBackStack(null)。 后退按钮返回活动的最后一个片段,而不是“父”片段中的最后一个片段(还有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();

2 个答案:

答案 0 :(得分:1)

这可能是这里提到的错误:https://code.google.com/p/android/issues/detail?id=40323

您可以通过手动处理“返回”来解决此问题。请参阅此主题以获取大量变通方法:Android 4.2: back stack behaviour with nested fragments

答案 1 :(得分:-1)

我认为问题可能出在“fragmentManager”这里。有多个FragmentManager

FragmentManager - Activity.getFragmentManager()Activity

FragmentManager - Fragment.getChildFragmentManager()Fragment.getFragmentManager()内有Fragment个孩子Fragment

假设您有activityparentFragmentchildFragment。因此,我认为在您的情况下,您可能需要activity.getFragmentManager()childFragment.getFragmentManager(),而不是parentFragment.getChildFragmentManager()

请注意,如果您使用的是支持包,则名称可能会有所不同。