gpt4 book ai didi

java - 如何向 ViewPager 提供许多 fragment 并避免错误代码?

转载 作者:太空狗 更新时间:2023-10-29 16:09:10 25 4
gpt4 key购买 nike

我有 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();
}
}

}

但应该有另一种方法来做到这一点。将不胜感激任何帮助。

最佳答案

FragmentPagerAdapter 足够聪明,不会在每次需要时都实例化 fragment 。所以你的代码没问题。也就是说,在内存中保存 20 个 fragment 可能有点太多了。看看 FragmentStatePagerAdapter,它会自动保存和恢复 fragment ,而不是让它们一直存在于内存中。

除了使用 switch 之外,您还可以拥有一个 fragment 列表并从列表中返回:

List<Fragment> fragments;

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

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

关于java - 如何向 ViewPager 提供许多 fragment 并避免错误代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7242657/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com