getChildFragmentManager()和支持库

我在使用API​​级别19编译的应用程序中使用getChildFragmentManager() ,并将最小SDK设置为14。

getChildFragmentManager()在API 17中引入,因此在调用方法时,运行API级别为14,15或16的设备将引发NoSuchMethodError

我查看了所有关于这个问题的其他StackOverflow问题,但是他们都没有回答这个问题:有没有办法让getChildFragmentManager()方法在预API级别17的设备上工作? 如果是这样,怎么样?

该方法似乎不包含在v4或v13支持库中。 我已经尝试了与v4和v13支持库的干净版本,但似乎并没有解决这个问题。

  • Android片段animationonResume
  • ViewPager里面的片段问题
  • Android:嵌套片段的父片段
  • ViewPager里面的片段问题
  • onActivityResult()不在新的嵌套片段API中调用
  • 使用嵌套的片段和animation对象
  • DialogFrag#show()来自片段抛出“IllegalStateException:onSaveInstanceState后无法执行此操作”
  • getParentFragment返回null
  • 有什么办法让getChildFragmentManager()方法在设备API级别17上工作吗? 如果是这样,怎么样?

    使用Android支持包( android-support-v4.jarandroid.support.v4.app.Fragment )中的片段backport。

    该方法似乎不包含在v4或v13支持库中。

    是的,在FragmentActivity ,您需要使用Activity基类来使用片段backport。

    它位于backport的Fragment类中,用于pipe理该片段的子片段。

    我已经尝试了与v4和v13支持库的干净版本,但似乎并没有解决这个问题。

    要么你没有改变FragmentActivity Fragment backport,或者你的支持库JARs是旧的。 这是一个演示使用FragmentActivity Fragment backport及其getChildFragmentManager() 的示例项目 。

    您可以尝试使用SupportFragmentManager:

     yourFragment = (YourFragment) getActivity().getSupportFragmentManager().findFragmentById(R.id.playListFragment)