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