在项目中需要进行Fragment的切换,一直都是用replace()方法来替换Fragment
但是,这样会有一个问题 ,应该很多朋友都遇到过:
每次切换的时候,Fragment都会重新实例化,也就是运行OnCreatVIew()方法
那么如何让多个Fragment彼此切换时不重新实例化?
正确的切换方式是add(),切换时hide(),add()另一个Fragment,再次切换时,只需hide()当前,show()另一个。
//之前显示的fragment
        private Fragment mContent;
        /** 修改显示的内容 不会重新加载 **/
        public void switchContent(Fragment to) {
                if (mContent != to) {
                        FragmentTransaction transaction = getSupportFragmentManager()
                                        .beginTransaction();
                        if (!to.isAdded()) { // 先判断是否被add过
                                transaction.hide(mContent).add(R.id.content, to).commit(); // 隐藏当前的fragment,add下一个到Activity中
                        } else {
                                transaction.hide(mContent).show(to).commit(); // 隐藏当前的fragment,显示下一个
                        }
                        mContent = to;
                }
                showContent();
        }

转载于:https://www.cnblogs.com/xiaoli3007/p/4369650.html

Android 关于fragment切换重新加载的解决分享给大家相关推荐

  1. android 移除fragment,Android Viewpager+Fragment取消预加载及Fragment方法的学习

    1.在使用ViewPager嵌套Fragment的时候,由于VIewPager的几个Adapter的设置来说,都会有一定的预加载.通过设置setOffscreenPageLimit(int numbe ...

  2. Android笔记 fragment入门 静态加载fragment

    fragment最初目的:为了方便平板开发界面的美化 fragment引入原因 一般市面上的软件Activity太过庞杂 每一个Activity都要在清单文件配置 清单文件也比较臃肿查找修改不便 因此 ...

  3. Android笔记 fragment入门 动态加载fragment demo+ 判断横竖屏

    代码基本与上一篇blog一样 少量更改 1布局 activity_main.xml <LinearLayout xmlns:android="http://schemas.androi ...

  4. android fragment实例化,Android使得Fragment 切换时不重新实例化

    以前实现Fragment的切换都是用replace方法实现 public void startFragmentAdd(Fragment fragment) { FragmentManager frag ...

  5. Android优化方案之--Fragment的懒加载实现

    一.背景 在Android应用中,ViewPager是我们不可避免使用的一个控件,因为它可以使我们在占用较少空间的同时,增强内容的丰富性,同时以其内部流淌着Google的血液,所以它几乎成了每一个Ap ...

  6. fragment的懒加载

    1 为什么需要懒加载 用fragment+viewpager+fragmentPagerAdapter作为框架 ,会出现fragment预加载. 2.用setUserVisibleHint()方法可以 ...

  7. Android中使用x5内核加载网页的实现

    前言 联系方式 背景 SDK下载 SDK集成 使用 代码实现 前言 由于是使用的腾讯浏览服务,所以这里大部分介绍的是官网的一些东西,不过自己会做一些复杂使用部分的实现,不至于像官网上介绍的笼统. 联系 ...

  8. Fragment的懒加载与生命周期详解

    提示:本文仅为笔者学习记录 Fragment的懒加载与生命周期详解 什么是懒加载 了解Fragment的生命周期 onAttach onCreate onCreateView onActivityCr ...

  9. Android 二次封装网络加载框架

    Android 二次封装网络加载框架 写在最前面 开发当中,在请求网络的时候,大家或多或少都会使用一些第三方框架,Android-Async-Http. Volley.XUtils.Okhttp.Re ...

最新文章

  1. 人工智能在能源行业的5个应用
  2. java两人猜数字游戏,java之猜数字游戏
  3. Simulink仿真---PMSM滞环电流控制仿真模型学习
  4. oracle asm之添加和修改asm磁盘组
  5. proto 指定字段json名_比json快5倍的protobuf了解一下
  6. Spring系列合并
  7. java 超时异常_Java如何实现任务超时处理
  8. 51nod 1686 第K大区间 二分瞎搞
  9. MySQL(2)--MYSQL 安装
  10. Spring与SpringMVC的区别
  11. eclipse javafx找不到或无法加载主类_JVM类加载
  12. 【Luogu2394】yyy loves Chemistry I(浮点数精度)
  13. java rails orm_php 模拟 rails 中的 ActionRecord 的 ORM (一)
  14. JSMInd实现动态思维导图的保存和展示
  15. [haoi2009]毛毛虫 树形dp
  16. ◎◎首都机场大巴最新路线时刻表◎◎
  17. android 关闭来电铃声,Android删除除自定义铃声后,来电铃声显示是一串数字
  18. 几个鲜为人知但很有用的 HTML 属性
  19. 给你一个二维整数数组 matrix,返回 matrix 的 转置矩阵
  20. Navicat Premium试用期

热门文章

  1. optimizer_mode优化器模式
  2. flex 错误信息类型及解决方法
  3. 夯实基础开新局--全国乡镇党委换届工作进展顺利
  4. Tip: 强制 Outlook 用户使用缓存模式
  5. Linux 开发环境工具 下载网址大全
  6. [Java] 蓝桥杯ADV-214 算法提高 3-3求圆面积表面积体积
  7. [Java] 蓝桥杯BASIC-19 基础练习 完美的代价
  8. L2-006. 树的遍历-PAT团体程序设计天梯赛GPLT
  9. mac双击文件打不开——设置鼠标连按速度
  10. 携程ELK日志分析平台深耕之路