fragment嵌套fragment的问题

一、先贴两段文档说明,一目了然
  • getFragmentManager()
android.support.v4.app.Fragment
@Contract(pure=true) 
public final android.support.v4.app.FragmentManager getFragmentManager()

Return the FragmentManager for interacting with fragments associated with this fragment's activity. 
Note that this will be non-null slightly before getActivity(), 
during the time from when the fragment is placed in a FragmentTransaction until it is committed and attached to its activity.

If this Fragment is a child of another Fragment, 
the FragmentManager returned here will be the parent's getChildFragmentManager().
  • getChildFragmentManager()
android.support.v4.app.Fragment
public final android.support.v4.app.FragmentManager getChildFragmentManager()

Return a private FragmentManager for placing 
and managing Fragments inside of this Fragment.
二、Fragment+ViewPager-->+多个fragment

fragment跳转到带有viewpager的fragment,第一次能够滑动显示多个fragment,退出后再进入,viewpager不显示。
问题就在 new ViewPageAdpater( getFragmentManager() )上面,两段文档已经解决问题。

错误代码

  mSectionsPagerAdapter = new SectionsPagerAdapter(getFragmentManager());
        mSectionsPagerAdapter.addFragments(SongDetailAboutFragment.newInstance(0));
        mSectionsPagerAdapter.addFragments(SongDetailAlbumFragment.newInstance(0));
        mSectionsPagerAdapter.addFragments(SongDetailLrcFragment.newInstance(0));
        viewPager.setAdapter(mSectionsPagerAdapter);

正确代码

  mSectionsPagerAdapter = new SectionsPagerAdapter(getChildFragmentManager());
        mSectionsPagerAdapter.addFragments(SongDetailAboutFragment.newInstance(0));
        mSectionsPagerAdapter.addFragments(SongDetailAlbumFragment.newInstance(0));
        mSectionsPagerAdapter.addFragments(SongDetailLrcFragment.newInstance(0));
        viewPager.setAdapter(mSectionsPagerAdapter);

感谢:Wing_Li
【BUG系列】Fragment中嵌套Fragment,不显示

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。