package TokenLeiBao;
import java.lang.ref.SoftReference;
import java.util.HashMap;
import android.support.v4.app.Fragment;
import FragmentLeiBao.CaoMaFragment;
import FragmentLeiBao.ChakanFragment;
import FragmentLeiBao.DiaochaFragment;
import FragmentLeiBao.ViewDiaochaFragment;
import FragmentLeiBao.ViewGerensFragment;
import FragmentLeiBao.ViewGopgeFragment;
import FragmentLeiBao.ViewPhotoFragment;
import FragmentLeiBao.ViewXiugaiFragment;
import FragmentLeiBao.ViewYonghuFragment;
import FragmentLeiBao.ViewChouquFragment;
import FragmentLeiBao.ViewxianchaFragment;
import FragmentLeiBao.ViewxuanFragment;
public class ViewIndex {
public static final int TEST1_VIEW= 0;
public static final int VIEW_LOGIN = 1;
public static final int VIEW_SURVEY_LIST = 2;
public static final int VIEW_USER_CENTER = 3;
public static final int VIEW_SURVEY_DETAIL = 4;
public static final int VIEW_SURVEY_Nu = 5;
public static final int View_SID_Niu=6;
public static final int View_Chou_Qi=7;
public static final int View_Cha_kan=8;
public static final int View_Xuan_Ze=9;
public static final int View_Xuan_cha=11;
public static final int VIEW_USER_CENTE = 12;
public static final int VIEW_Sao_Ma = 13;
// /**
public static final int SWITCHINDEX_0 = 0;
public static final int SWITCHINDEX_1 = 1;
public static HashMap<String, SoftReference<Fragment>> viewMap = new HashMap<String, SoftReference<Fragment>>();
public static Fragment getView(int index){
Fragment contentViewTemp = null;
SoftReference<Fragment> ref = viewMap.get(""+index);
if(ref!=null){
if(ref.get()!=null){
contentViewTemp = ref.get();
if(contentViewTemp!=null){
if(contentViewTemp.getActivity()!=null&&
contentViewTemp.getActivity().isFinishing()){
viewMap.remove(ref);
contentViewTemp = null;
}
}
}
}
//每新建一个Fragment须在此注册
Fragment contentView = null; int switchIndex = index/10;/*0至第10个Fragment*/ try { switch(switchIndex){ case SWITCHINDEX_0: switch(index){ case VIEW_LOGIN: contentView = contentViewTemp==null?new ViewGopgeFragment():contentViewTemp; break; case VIEW_SURVEY_LIST: contentView = contentViewTemp==null?new DiaochaFragment():contentViewTemp; break; case VIEW_USER_CENTER: contentView = contentViewTemp==null?new ViewGerensFragment():contentViewTemp; break; case VIEW_SURVEY_DETAIL: contentView = contentViewTemp==null?new ViewXiugaiFragment():contentViewTemp; break; case VIEW_SURVEY_Nu: contentView = contentViewTemp==null?new ViewYonghuFragment():contentViewTemp; break; case View_SID_Niu: contentView = contentViewTemp==null?new ViewDiaochaFragment():contentViewTemp; break; case View_Chou_Qi: contentView = contentViewTemp==null?new ViewChouquFragment():contentViewTemp; break; case View_Cha_kan: contentView = contentViewTemp==null?new ChakanFragment():contentViewTemp; break; case View_Xuan_Ze: contentView = contentViewTemp==null?new ViewxuanFragment():contentViewTemp; break; } break; case SWITCHINDEX_1:/*11至第20个Fragment*/ switch (index){ case View_Xuan_cha: contentView = contentViewTemp==null?new ViewxianchaFragment():contentViewTemp; break; case VIEW_USER_CENTE: contentView = contentViewTemp==null?new ViewPhotoFragment():contentViewTemp; break; case VIEW_Sao_Ma: contentView = contentViewTemp==null?new CaoMaFragment():contentViewTemp; break; } break; } if(contentViewTemp==null){ SoftReference<Fragment> ref0 = new SoftReference<Fragment>(contentView); viewMap.put(""+index, ref0); } } catch (Exception e) { e.printStackTrace(); } catch(OutOfMemoryError e){ e.printStackTrace(); viewMap.clear(); System.gc(); System.gc(); System.gc(); } return contentView; }}