android中fragment的显示和隐藏

private void switchFragment() {
    Bundle bundle = getIntent().getExtras();
    int categoryInt = bundle.getInt("category", -1);
    if (categoryInt == -1) {
        LogUtils.e(TAG, "categoryInt error.");
        return;
    }

    mFragmentTransaction = getSupportFragmentManager().beginTransaction();
    hideFragment(mFragmentTransaction);
    switch (categoryInt) {
        case ConstantUtils.MemberDetails.CATEGORY_MEMBER:
            if (mMemberDetailsFragment == null) {
                mMemberDetailsFragment = new MemberDetailsFragment();
                mFragmentTransaction.add(R.id.fragment_container, mMemberDetailsFragment);
            } else {
                mFragmentTransaction.show(mMemberDetailsFragment);
            }
            break;
        case ConstantUtils.MemberDetails.CATEGORY_CUSTOMER:
            if (mCustomerDetailsFragment == null) {
                mCustomerDetailsFragment = new CustomerDetailsFragment();
                mFragmentTransaction.add(R.id.fragment_container, mCustomerDetailsFragment);
            } else {
                mFragmentTransaction.show(mCustomerDetailsFragment);
            }
            break;
        default:
            break;
    }

}

public void hideFragment(FragmentTransaction mFragmentTransaction) {
    if (mMemberDetailsFragment != null) {
        mFragmentTransaction.hide(mMemberDetailsFragment);
    }
    if (mCustomerDetailsFragment != null) {
        mFragmentTransaction.hide(mCustomerDetailsFragment);
    }
}

你可能感兴趣的:(Android)