程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> java-如何給ViewPager提供很多的Fragments

java-如何給ViewPager提供很多的Fragments

編輯:編程綜合問答
如何給ViewPager提供很多的Fragments

在程序中有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不用每次都實例化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);
}
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved