zoukankan      html  css  js  c++  java
  • Frangment-学习总结

    Fragment常用三个类:

    Fragment:定义Fragment本身。
    FragmentManager:管理Activity中的Fragment
    FragmentTrasaction:对Fragment进行各种具体操作,而且其操作具有原子性。操作完成必须调用commit()方法,统一执行。
    

    Fragment的使用有两种方式:

    1.直接在Activity的layout里设置<Fragment>标签,这种属于静态使用,Fragment和其他控件无异;
    2.利用代码,在Activity里动态加载Fragment,这种方法可以降低Fragment和activity的耦合度,提高程序的灵活性,同时,Fragment还可以被多个Activity复用。

    Fragment动态加载的方法

    • 重写Fragment类,实现自己的Fragment。可以重写Fragment类的OnCreateView()方法来实现自己Fragment的布局。

    • 获得FragmentManager对象:FragmentManager fm = getFragmentManager();

    • 获得FragmentManagerTrasaction对象: FragmentManagerTrasaction ft =
      fm.beginTrasaction();

    FragmentManagerTrasaction有如下几个比较重要的操作:
    add():添加一个Fragment;
    remove():移除一个Fragment;(如果被移除的Fragment没有被加载进回退栈,则会被销毁)
    replace():先移除当前,然后用另一个替换。
    hide();隐藏Fragment,使被隐藏的Fragment不可见,但是不销毁。
    show():显示隐藏的Fragment .
    detach():把Fragment与Activity解除联系,但Fragment的实例还在,由FragmentManager维护。
    Attach():重建Fragment的view视图,附加到UI上并显示。

    以上操作可以随意组合,等操作语句写完,调用commit()函数提交,使这一系列操作得以连续执行,保证其原子性。
    

    Fragment回退栈:`有点类似于activity的Task栈,Activity会为Fragment维护一个回退栈,可以调用FragmentTrasaction.addToBackStack(String);来把Fragment加入回退栈,这样在点击系统的回退按钮时,Fragment可以依次实现回退的功能。

    版权声明:本文为博主原创文章,未经博主允许不得转载。

  • 相关阅读:
    IO流总览图
    自己实现的一个数组排序并去重的功能
    Java常量池详解之一道比较蛋疼的面试题
    一个简单的数组去重并排序方法
    Delphi开发经验谈
    再谈Delphi vs VC++(非常精彩)
    C#根据当前时间获取,本周,本月,本季度等时间段
    delphi CopyMemory、FillMemory、MoveMemory、ZeroMemory
    DupeString 与 StringOfChar 的区别
    SQL最大值加1
  • 原文地址:https://www.cnblogs.com/song-ge/p/4779357.html
Copyright © 2011-2022 走看看