Fragment总结

Fragment

  • Fragment结构

    • 活动布局中的FragmentLayout(布局)容器
    • Fragment的子布局。
    • Fragment类。
  • 一般添加和替换碎片都是在FragmentLayout(布局)容器中。

  • 静态加载碎片时呢,一定要用V4包里的,避免出现Fragment加载错误。

  • 如果在同一次事务添加了多个Fragment呢,显示的次序同添加次序一致。add()添加碎片后就默认显示,如一次向同一容器添加多个碎片了,就得hide()不显示的Fragment。

  • 一个事务对象呢,只支持一次提交。

  • 调用FragmentManager.add()添加Fragment时,可通过参数传入此次行为的日志名。调用findFragmentByTag(),传入日志名就能获取添加的碎片。

  • hide()方法仅是隐藏视图,detach()方法是销毁视图,最后通过show()方法都能显示出来。

  • 可调用FragmentManager对象的findFragmentById(),findFragmentByTag(),获取到activity的返回栈中存在的Fragment。

  • Fragment 分别在app包和V4包都有,但两者兼容的最低版本不同,app包里的最低兼容 android 3.o版本,V4包里的最低兼容 android 1.6版。一般使用V4包里的就好,相应的创建FragmentManager对象时,也就只能调用V4包里的方法创建了,getSupportFragmentManager()。

    • 事务就是同一时刻呢执行一组动作。
    • 向activity中添加Fragment,都要取得一个FragmentTransaction的实例,其中就可以对Fragment进行add,remove,replace。在调用commit()前,执行了addToBackStack(),事务就会添加到返回栈中。当用户按下返回键时呢,事务的所以动作都会反向执行(事务回溯)。
    • 但如没有执行addToBackStack()呢,被删除的Frgament就会被销毁,而不是进入停止状态。当按下返回键时呢此Fragment不会被恢复。就是回到返回栈保存事务之前的状态。
  • 以下此图是Fragment的完整生命周期。

碎片生命周期
碎片生命周期
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容