为了账号安全,请及时绑定邮箱和手机立即绑定

如何给ViewPager提供很多的Fragments

如何给ViewPager提供很多的Fragments

眼眸繁星 2019-03-13 14:15:09
在程序中有20个FragmentActivity,它们都像游戏屏幕一样以不同的结构呈现。我想把它们都放在ViewPager中。我查了半天资料就获得了以下方法:public static class MyAdapter extends FragmentPagerAdapter {     @Override     public Fragment getItem(int position) {         switch(position){           case 0:             return new Fragment1();           case 1:             return new Fragment2();           .........................           another 20 case statements here           .........................           case 20:             return new Fragment21();         }     }  }肯定还有别的方法实现。大家有什么好的建议吗?
查看完整描述

2 回答

?
慕后森

TA贡献1802条经验 获得超5个赞

FragmentPagerAdapter不用每次都实例化fragments。所以你的代码是ok的。
20个fragment放在一个内存中是有点多。试一下FragmentStatePagerAdapter,会自动保存和恢复fragment,不需要把fragment一直放在内存中。
不要使用switch。你可以把fragment放在一个列表中,然后再从列表中返回。

List<Fragment> fragments;

public Fragment getItem(int pos) {
  return fragments.get(pos);
}

public void addFragment(Fragment f) {
  fragments.add(f);
}


查看完整回答
反对 回复 2019-04-26
  • 2 回答
  • 0 关注
  • 428 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信