Android ViewPager';碎片消失了

Android ViewPager';碎片消失了,android,android-viewpager,navigation-drawer,android-nested-fragment,Android,Android Viewpager,Navigation Drawer,Android Nested Fragment,我正在将DrawerLayout与ViewPagerIndicator一起使用,但是最后一个不能与DrawerLayout一起正常工作。打开应用程序后,viewpager将正确显示,但在抽屉布局中更改片段后,viewpager的片段将消失 这是我的碎片管理器: ViewPager中的第二个片段和第四个片段在那里,它们没有消失,而第一个、第三个和第五个片段消失了。我的代码出了什么问题 这是我的片段: 将getChildFragmentManager()与GoogleMusicAdapter一起使用

我正在将
DrawerLayout
ViewPagerIndicator
一起使用,但是最后一个不能与
DrawerLayout
一起正常工作。打开应用程序后,viewpager将正确显示,但在抽屉布局中更改片段后,viewpager的片段将消失

这是我的碎片管理器:

ViewPager中的第二个片段和第四个片段在那里,它们没有消失,而第一个、第三个和第五个片段消失了。我的代码出了什么问题

这是我的片段:


getChildFragmentManager()
GoogleMusicAdapter
一起使用:

adapter = new GoogleMusicAdapter(getChildFragmentManager());

因为
ViewPager
使用的片段是嵌套的片段。

@KingOmar确保您的项目中有最新版本的支持库。是的,我在谷歌上搜索了它,刚刚检查过。我有最新版本的支持库。@KingOmar我怀疑您是否有最新版本。在
片段的
onCreateView()
回调中创建适配器,以便该方法可用。正如测试一样,更新sdk并再次复制jar。我发现该方法在扩展
Fragment
时可用,而不是
SherlockFragment
@KingOmar a
SherlockFragment
扩展
Fragment
时可用,因此该方法在
SherlockFragment
中也可用。
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) {
    viewta = inflater.inflate(R.layout.simple_tabs, container, false);
    SamsungLB = com.androidarabia.lebanon.SamsungLB.newInstance();
    HTCLB = com.androidarabia.lebanon.HTCLB.newInstance();
    LGLB = com.androidarabia.lebanon.LGLB.newInstance();
    SonyLB = com.androidarabia.lebanon.SonyLB.newInstance();
    SearchLB = com.androidarabia.lebanon.SearchLB.newInstance();
    this.getSherlockActivity().getSupportActionBar()
            .setHomeButtonEnabled(true);
    prefs = this.getSherlockActivity().getSharedPreferences(prefName,
            Context.MODE_PRIVATE);
    adapter = new GoogleMusicAdapter(this.getSherlockActivity()
            .getSupportFragmentManager());
    pager = (ViewPager) viewta.findViewById(R.id.pager);

    pager.setPageTransformer(true, new ZoomOutPageTransformer());
    indicator = (TabPageIndicator) viewta.findViewById(R.id.indicator);
    pager.setCurrentItem(0);
    pager.setAdapter(adapter);
    pager.setOffscreenPageLimit(4);
    indicator.setViewPager(pager);
    return viewta;
}

private void addtabs(ViewPager pager2) {
    // TODO Auto-generated method stub
    pager2.setAdapter(adapter);
    pager2.setOffscreenPageLimit(4);
    indicator.setViewPager(pager);
}

class GoogleMusicAdapter extends FragmentStatePagerAdapter {

    public GoogleMusicAdapter(FragmentManager fm) {
        super(fm);
        notifyDataSetChanged();
    }

    @Override
    public Fragment getItem(int position) {

        switch (position) {
        case 0:
            return SamsungLB;
        case 1:
            return HTCLB;
        case 2:
            return LGLB;
        case 3:
            return SonyLB;
        case 4:
            return SearchLB;

        }
        notifyDataSetChanged();

        return TestFragment.newInstance(CONTENT[position % CONTENT.length]);
    }

    @Override
    public CharSequence getPageTitle(int position) {

        return CONTENT[position % CONTENT.length].toUpperCase();
    }

    @Override
    public int getCount() {

        return CONTENT.length;
    }

}
adapter = new GoogleMusicAdapter(getChildFragmentManager());