Android Fragment基础

Fragment是一种可以嵌入在Activity中的UI片段,Fragment不能够单独使用,需要嵌套在Activity中使用,其生命周期也受到宿主Activity的生命周期的影响。

Fragment的四种状态: 运行、暂停、停止、销毁。

Fragment两个核心类

  • FragmentManager:管理和维护Fragment。
  • FragmentTransaction:对Fragment的添加、删除等操作都要通过事务方式进行。

FragmentTransaction的常用方法:

  • transaction.add():往Activity里面添加一个片段
  • transaction.remove():从Activity中移除一个Fragment,如果被移除的Fragment没有添加到回退栈,这个Fragment实例将会被销毁
  • transaction.replace():使用另一个Fragment替换当前的,实际上是remove()然后add()的合体。

回退栈
添加一个Fragment事务到回退栈:

FragmentTransaction.addToBackStack(String);

如果将Fragment任务添加到回退栈,当用户点击后退按钮时,将看到上一次的保存的Fragment,一旦Fragment完全从后退栈中弹出,用户再次点击后退键,则退出当前Activity。
调用replace(),如果不添加事务到回退栈,前一个Fragment实例会被销毁。如果添加到了回退栈,Fragment实例不会被销毁,但是视图层次依然会被销毁。

不同情况下前一个Fragment实例销毁情况:

add()replace()返回键
没添加到回退栈不销毁销毁退出Activity
添加到回退栈不销毁不销毁回退显示前一个Fragment

参考博客:
Fragment基本使用 https://www.jianshu.com/p/a4c51309bc19

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值