zoukankan      html  css  js  c++  java
  • FragmentManager中Fragment的重复创建、复用问题

    当我们在Activity中使用 Fragment可以用FragmentManager去添加到对应个ViewGoup中使用

    FragmentManager fragmentManager = getSupportFragmentManager();
            FragmentTransaction transaction = fragmentManager.beginTransaction();
            transaction.add(R.id.fragment_container,fragment,tag);
            transaction.commit();

    当我们想复用的时候可以 

    // 通过tag找到对应的Fragment,在动态加载和静态加载中都可以使用
     secondFragment = (SecondFragment) fragmentManager.findFragmentByTag("fragment_second");

     在FragmentManager也可以执行replace方法替换对应ViewGroup中的Fragment

    replace(int containerViewId, Fragment fragment, String tag)

    还可以使用Remove方法删除对应ViewGroup的Fragment

    remove(Fragment fragment);

    但是此处有个细节就是 当我们使用Remove的时候不仅仅是把Fragment移出ViewGroup 同时也会执行Fragment的onDestry方法 也就是同时会销毁Fragment

  • 相关阅读:
    IPC对象的持续性
    数据结构C++版-图
    数据结构C++版-树
    数据结构C++版-队列
    数据结构C++版-栈
    数据结构C++版-线性表
    转-二值图像连通域标记
    AdaBoost笔记之通俗易懂原理介绍
    AdaBoost笔记之原理
    C++之多态
  • 原文地址:https://www.cnblogs.com/bimingcong/p/10276369.html
Copyright © 2011-2022 走看看