package com.bczm.widgetcollections.ui.fragment;
import java.util.HashMap;
import java.util.Map;
public class FragmentFactory {
public static final int TAB_FIRST = 0;
public static final int TAB_SECOND = 1;
public static final int TAB_THIRD = 2;
public static final int TAB_FOURTH = 3;
/** 记录所有的fragment,防止重复创建 */
private static Map<Integer, BaseFragment> mFragmentMap = new HashMap<>();
/** 采用工厂类进行创建Fragment,便于扩展,已经创建的Fragment不再创建 */
public static BaseFragment createFragment(int index) {
BaseFragment fragment = mFragmentMap.get(index);
if (fragment == null) {
switch (index) {
case TAB_FIRST:
fragment = new TabFirstFragment();
break;
case TAB_SECOND:
fragment = new TabSecondFragment();
break;
case TAB_THIRD:
fragment = new TabThirdFragment();
break;
case TAB_FOURTH:
fragment = new ChapterFragment();
break;
}
mFragmentMap.put(index, fragment);
}
return fragment;
}
}