Android Fragment中嵌套Fragment不显示

来源:互联网 发布:人工智能的利弊英文 编辑:程序博客网 时间:2024/04/19 05:53

先看一段错误代码,这段代码写在一个 Fragment 中:

private void initView(){    mViewPageAdpater = new ViewPageAdpater( getFragmentManager() );    mFragments.add( new DemoListFragment() );    mTitles.add( "title1" );    mFragments.add( new DemoListFragment() );    mTitles.add( "title2" );    mFragments.add( new DemoListFragment() );    mTitles.add( "title3" );    mViewPageAdpater.setFragments( mFragments, mTitles );        }

这段代码看上去一切正常,但是有时候就是好好的就是现实不出来,最后终于发现,问题就在 new ViewPageAdpater( getFragmentManager() ); 这里。

之前就知道 fragment中嵌套fragment 应该使用 getChildFragmentManager():

正确的写法:

private void initView(){    mViewPageAdpater = new ViewPageAdpater( getChildFragmentManager() );    mFragments.add( new DemoListFragment() );    mTitles.add( "title1" );    mFragments.add( new DemoListFragment() );    mTitles.add( "title2" );    mFragments.add( new DemoListFragment() );    mTitles.add( "title3" );    mViewPageAdpater.setFragments( mFragments, mTitles );        }

以后每当在 Fragment 中要用到 FragmentManager 的时候一定要记住,使用 getChildFragmentManager()。

0 0