package com.jone.app.ui.fragment; import android.app.Fragment; import android.app.FragmentManager; import android.app.FragmentTransaction; /** * Created by jone_admin on 2014/3/21. */ public abstract class JoneBaseFragment extends Fragment{ public void onShow(){} public void onHide(){} public static void addFragment(FragmentManager fragmentManager, int attachResource, JoneBaseFragment fragment, String fragmentTag){ if(fragmentManager != null){ FragmentTransaction transaction = fragmentManager.beginTransaction(); transaction.add(attachResource, fragment, fragmentTag).commit(); } } public static void switchFragment(FragmentManager fragmentManager, int attachResource, JoneBaseFragment fromFragment, JoneBaseFragment toFragment, String toFragmentTag){ if(fragmentManager != null){ FragmentTransaction transaction = fragmentManager.beginTransaction(); if(fromFragment == null){ transaction.add(attachResource, toFragment, toFragmentTag).commit(); return; } if(toFragment.isAdded()){ transaction.hide(fromFragment).show(toFragment).commit(); toFragment.onShow(); }else { transaction.hide(fromFragment).add(attachResource, toFragment, toFragmentTag).commit(); } fromFragment.onHide(); } } }