防止在Sherlock碎片活动上重新创建Android碎片

防止在Sherlock碎片活动上重新创建Android碎片,android,android-fragments,fragment,Android,Android Fragments,Fragment,我有一个扩展SherlockFragmentActivity的活动,它有3个片段。每次我滑动到第三个片段,然后再滑动回第一个片段,我意识到第一个片段被重新加载。这是我的密码 ActionBar ab = getSupportActionBar(); FragmentManager fm = getSupportFragmentManager(); ArrayList<Fragment> f = new ArrayList<Fragment>();

我有一个扩展SherlockFragmentActivity的活动,它有3个片段。每次我滑动到第三个片段,然后再滑动回第一个片段,我意识到第一个片段被重新加载。这是我的密码

    ActionBar ab = getSupportActionBar();
    FragmentManager fm = getSupportFragmentManager();
    ArrayList<Fragment> f = new ArrayList<Fragment>();

    f.add(new FragmentMe());
    f.add(new FragmentBrowse());
    f.add(new FragmentFeed());

    FragmentAdapter adapter = new FragmentAdapter(fm, f);
    pager.setAdapter(adapter);

    pager.setOnPageChangeListener(new ViewPager.SimpleOnPageChangeListener(){
        @Override
        public void onPageSelected(int position) {              
            super.onPageSelected(position);
            ab.setSelectedNavigationItem(position);         
        }
    });
    ActionBar.TabListener tabListener = new ActionBar.TabListener() {

        @Override
        public void onTabUnselected(Tab tab, FragmentTransaction ft) {              
        }

        @Override
        public void onTabSelected(Tab tab, FragmentTransaction ft) {
            pager.setCurrentItem(tab.getPosition());
        }

        @Override
        public void onTabReselected(Tab tab, FragmentTransaction ft) {
        }
    };
    ab.addTab(ab.newTab().setText("Me").setTabListener(tabListener));
    ab.addTab(ab.newTab().setText("Browse").setTabListener(tabListener));
    ab.addTab(ab.newTab().setText("Feed").setTabListener(tabListener));
ActionBar ab=getSupportActionBar();
FragmentManager fm=getSupportFragmentManager();
ArrayList f=新的ArrayList();
f、 添加(新片段名称());
f、 添加(新片段浏览());
f、 添加(新的FragmentFeed());
FragmentAdapter=新的FragmentAdapter(fm,f);
寻呼机设置适配器(适配器);
setOnPageChangeListener(新建ViewPager.SimpleOnPageChangeListener(){
@凌驾
已选择页面上的公共无效(内部位置){
super.onPageSelected(位置);
ab.SETSELECTED导航项目(位置);
}
});
ActionBar.TabListener TabListener=新建ActionBar.TabListener(){
@凌驾
已选择公共void ontabuSelected(选项卡,碎片事务处理ft){
}
@凌驾
已选择的公共事务(选项卡,碎片事务ft){
setCurrentItem(tab.getPosition());
}
@凌驾
已重新选择公共无效页签(页签,碎片事务){
}
};
ab.addTab(ab.newTab().setText(“Me”).setTabListener(tabListener));
ab.addTab(ab.newTab().setText(“浏览”).setTabListener(tabListener));
ab.addTab(ab.newTab().setText(“提要”).setTabListener(tabListener));
这是我的片段适配器代码

public class FragmentAdapter extends FragmentStatePagerAdapter{

ArrayList<Fragment> fragment;

public FragmentAdapter(FragmentManager fm, ArrayList<Fragment> fragment) {
    super(fm);
    this.fragment = fragment;
}

@Override
public Fragment getItem(int pos) {
    return fragment.get(pos);
}

@Override
public int getCount() {     
    return fragment.size();
}

@Override
public CharSequence getPageTitle(int position) {
    return "Section " + (position + 1);
}
公共类FragmentAdapter扩展FragmentStatePagerAdapter{
ArrayList片段;
公共碎片适配器(碎片管理器fm、ArrayList碎片){
超级(fm);
this.fragment=片段;
}
@凌驾
公共片段getItem(int-pos){
返回片段.get(pos);
}
@凌驾
public int getCount(){
返回fragment.size();
}
@凌驾
公共字符序列getPageTitle(int位置){
返回“段”+(位置+1);
}
}

任何帮助都将不胜感激