Igo*_*pov 2 java android android-layout android-compatibility
我有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();
}
}
}
Run Code Online (Sandbox Code Playgroud)
但应该有另一种方法来做到这一点.将不胜感激任何帮助.
FragmentPagerAdapter足够聪明,每次需要时都不会实例化片段.所以你的代码没问题.也就是说,内存中的20个碎片可能有点太多了.看一下FragmentStatePagerAdapter,它会自动保存和恢复片段,而不会让它们始终保存在内存中.
switch您可以拥有一个片段列表并从列表中返回,而不是使用a :
List<Fragment> fragments;
public Fragment getItem(int pos) {
return fragments.get(pos);
}
public void addFragment(Fragment f) {
fragments.add(f);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2169 次 |
| 最近记录: |