开发者社区 问答 正文

怎么把很多的Fragments提供给ViewPager

在程序中有20个FragmentActivity,它们都像游戏屏幕一样以不同的结构呈现。我想把它们都放在ViewPager中。我查了半天资料就获得了以下方法:
screenshot
肯定还有别的方法实现。大家有什么好的建议吗?

展开
收起
蛮大人123 2016-02-15 10:36:35 1942 分享 版权
1 条回答
写回答
取消 提交回答
  • 我说我不帅他们就打我,还说我虚伪

    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-07-17 18:43:01
    赞同 展开评论
问答地址: