public class FragmentControl {
private List fragments;
//单例模式
private static FragmentControl framentControl;
private FragmentControl(){
fragments = new ArrayList();
}
public synchronized static FragmentControl getInstance(){
if(framentControl == null){
framentControl = new FragmentControl();
}
return framentControl;
}
//对Fragment进行的操作
public void fragmentChanged(Fragment f, FragmentManager fm) {
FragmentTransaction transaction = fm.beginTransaction();
if (fragments != null) {
for (Fragment fragment : fragments) {
transaction.hide(fragment);
}
}
if (!f.isAdded()) {
transaction.add(R.id.fl, f);
} else {
transaction.show(f);
}
fragments.add(f);
transaction.commit();
}
}