Fragment切换重新或不重新加载界面

Fragment切换重新或不重新加载界面

在实现开发应用时,有时Fragment切换时界面的信息需要更新,则需要重新加载,否则不需要;

下面实现了默认的fragment 、 不重新加载 与 重新加载的方法,只需你自己的fragmeng和 放fragment的布局id;

注:是import android.app.Fragment包的;

如果想换成v4包的请注意其他的包类型统一,并修改:mFm = getSupportFragmentManager();

/**
     * 设置默认的fragment,即//第一次加载界面;
     */
    private void setDefaultFragment(Fragment fm) {
        mFm = getFragmentManager();
        FragmentTransaction mFragmentTrans = mFm.beginTransaction();

        mFragmentTrans.add(R.id.id_addfram, fm).commit();

        mContent = fm;
    }

    private FragmentManager mFm;
    private Fragment mContent;

    /**
     * 修改显示的内容 不会重新加载 *
     */
    public void switchContent(Fragment to) {
        if (mContent != to) {
            FragmentTransaction transaction = mFm.beginTransaction();
            if (!to.isAdded()) { // 先判断是否被add过
                transaction.hide(mContent).add(R.id.id_addfram, to).commit(); // 隐藏当前的fragment,add下一个到Activity中
            } else {
                transaction.hide(mContent).show(to).commit(); // 隐藏当前的fragment,显示下一个
            }
            mContent = to;
        }
    }

    /**
     * 修改显示的内容 但会重新加载 *
     */
    public void switchContent2(Fragment to){
        FragmentTransaction transaction = mFm.beginTransaction();
        transaction.replace(R.id.id_addfram,to);
        //transaction.addToBackStack(null);
        transaction.commit();
    }



  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值