如何让一个fragment重新加载界面

 我来答
ahcc08
2016-07-09 · 知道合伙人软件行家
ahcc08
知道合伙人软件行家
采纳数:11853 获赞数:51941
拥有丰富的软件开发经验。

向TA提问 私信TA
展开全部
/**
     * 设置默认的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();
    }
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式