本文共 1417 字,大约阅读时间需要 4 分钟。
现在的应用框架基本都会用到Fragment+ViewPager。
在我们创建多个Fragment的时候,或许我们应该用工厂模式来降低程序的耦合性。下面这段代码来自于一个ViewPaper的Adapter里面。
@Override public Fragment getItem(int position) { return FragmentFactory.createFragment(position); }
获取Fragment的时候我们可以创建一个工厂类,同时我们为了提升性能,应该利用一个Map,判断是否已经创建,如果创建则不再创建。
FragmentFactory.java
public class FragmentFactory { private static MapmFragments = new HashMap (); public static Fragment createFragment(int position) { Fragment fragment = null; fragment = mFragments.get(position); //在集合中取出来Fragment if(fragment == null) //如果在集合中没有取出来,需要重新创建 { if(position == 0) { fragment = new HomeFragment(); } else if(position == 1) { fragment = new AppFragment(); } else if(position == 2) { fragment = new GameFragment(); } else if(position == 3) { fragment = new SubjectFragment(); } else if(position == 1) { fragment = new CategoryFragment(); } else if(position == 6) { fragment = new TopFragment(); } if(fragment != null) { mFragments.put(position, fragment); } } return fragment; }}
转载地址:http://gefqb.baihongyu.com/