FragmentUtil.java 1.15 KB
package com.cnlive.strike.util;

import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentTransaction;

public class FragmentUtil {

    private int content_id;

    public FragmentUtil(int content_id) {
        this.content_id = content_id;
    }

    public void initFragment(Fragment fragment, FragmentManager fragmentManager) {
        if (fragmentManager.findFragmentById(content_id) != null) return;
        FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
        fragmentTransaction.add(content_id, fragment);
        fragmentTransaction.commit();
    }

    public void changeFragment(Fragment fragment, FragmentManager fragmentManager) {
        Fragment find_fragment = fragmentManager.findFragmentById(content_id);
        if (find_fragment != null && find_fragment.equals(fragment)) return;
        FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
        if (find_fragment != null) fragmentTransaction.remove(find_fragment);
        fragmentTransaction.add(content_id, fragment);
        fragmentTransaction.commitAllowingStateLoss();
    }
}