笔记68 | 切换fragmengt的replace和add方法笔记

replace

private  void  LoandFragment(Fragment fragment){
        FragmentManager fm = getSupportFragmentManager();
        FragmentTransaction ft = fm.beginTransaction();
        ft.replace(R.id.fragment, fragment);
        ft.commitAllowingStateLoss();
    }

add

private Fragment currentFragment = new Fragment();
    //Fragment优化
    private FragmentTransaction transaction(Fragment targetFragment) {

        FragmentTransaction transaction = getSupportFragmentManager()
                .beginTransaction();
        if (!targetFragment.isAdded()) {
            //第一次使用switchFragment()时currentFragment为null,所以要判断一下
            if (currentFragment != null) {
                transaction.hide(currentFragment);
            }
            transaction.add(R.id.fragment, targetFragment, targetFragment.getClass().getName());

        } else {
            transaction
                    .hide(currentFragment)
                    .show(targetFragment);
        }
        currentFragment = targetFragment;
        return transaction;
    }

性能没什么区别~~~

原文链接跳转GitHub

原文发布于微信公众号 - 项勇(xiangy_life)

原文发表时间:2018-04-14

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Android知识点总结

Android原生下载(下篇)多文件下载+多线程下载

1153
来自专栏ionic3+

Android基于CMake进行OpenCV开发配置

新建项目,勾选【Include C++ support】,后续一直按【next】按钮取默认设置即可。

1114
来自专栏分享达人秀

Fragment添加、删除、替换

前面一起学习了Fragment的创建和加载,以及其生命周期方法,那么接下来进一步来学习Fragment的具体使用,本期先来学习Fragment添加、删除...

7748
来自专栏Android先生

Fragment全解析系列(一):那些年踩过的坑

本篇主要介绍一些最常见的Fragment的坑以及官方Fragment库的那些自身的BUG,并给出解决方案;这些BUG在你深度使用时会遇到,比如F...

1312
来自专栏everhad

札记:Fragment基础

Fragment概述 在Fragment出现之前,Activity是app中界面的基本组成单位,值得一提的是,作为四大组件之一,它是需要“注册”的。组件的特性使...

1996
来自专栏Android干货园

你真的会用Fragment了么?-Fragment解析

版权声明:本文为博主原创文章,转载请标明出处。 https://blog.csdn.net/lyhhj/article/details/51...

1091
来自专栏林冠宏的技术文章

android studio 使用 jni 编译 opencv 完整实例 之 图像边缘检测!从此在andrid中自由使用 图像匹配、识别、检测

目录:   1,过程感慨;   2,运行环境;   3,准备工作;   4,编译 .so   5,遇到的关键问题及其解决方法   6,实现效果截图。 (原创:转...

9435
来自专栏极客猴

你还在使用Dialog?赶紧把DialogFragment用起来

DialogFragment是在Android 3.0的时候被引入的, 目的是dialog也变成了碎片。DialogFragment是Fragment的子类,用...

803
来自专栏Android先生

Fragment全解析系列(二):正确的使用姿势

Fragment是可以让你的app纵享丝滑的设计,如果你的app想在现在基础上性能大幅度提高,并且占用内存降低,同样的界面Activity占用内存比Fragme...

1193
来自专栏分享达人秀

Fragment使用起来非常简单

Fragment创建完成后并不能单独使用,还需要将Fragment加载到Activity中,在Activity中添加Fragment的方式有两种:静态加...

3324

扫码关注云+社区