Android | Fragment
阿里云国内75折 回扣 微信号:monov8 |
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6 |
Android Fragment
Fragment 概念
Fragment
表示应用界面中可重复的一部分Fragment
定义和管理自己的布局具有自己的生命周期并且可以处理自己的输入事件。fragment
不能独立存在而是必须由 Activity
或另一个 fragment
托管。fragment
的视图层次结构会成为宿主的视图层次结构的一部分或附加到宿主的视图层次结构。
Fragment 生命周期
- 运行状态当一个
Fragment
所关联的Activity
正处于运行状态时该Fragment
也处于运行状态。 - 暂停状态当一个
Activity
进入暂停状态时由于另一个未占满屏幕的Activity
被添加到了栈顶与它相关联的Fragment
就会进入暂停状态。 - 停止状态当一个
Activity
进入停止状态时与它相关联的Fragment
就会进入停止状态或者通过调用FragmentTransaction
的remove()
、replace()
方法将Fragment
从Activity
中移除但在事务提交之前调用了addToBackStack()
方法这时的Fragment
也会进入停止状态。总的来说进入停止状态的Fragment
对用户来说是完全不可见的有可能会被系统回收。 - 销毁状态
Fragment
总是依附于Activity
而存在因此当Activity
被销毁时与它相关联的Fragment
就会进入销毁状态。或者通过调用FragmentTransaction
的remove()
、replace()
方法将Fragment
从Activity
中移除但在事务提交之前并没有调用addToBackStack()
方法这时的Fragment
也会进入销毁状态。
Activity
中有的回调方法在 Fragmen
中基本都有Fragment
还提供了附加的回调方法。
onAttach()
当Fragment
和Activity
建立关联时调用。onCreateView()
为Fragment
创建视图加载布局时调用。onActivityCreated()
确保与Fragment
相关联的Activity
已经创建完毕时调用。onDestroyView()
当与Fragment
关联的视图被移除时调用。onDetach()
当Fragment
和Activity
解除关联时调用。
常见的 Fragment
生命周期变化有以下几种
- 当
Fragment A
第一次被加载到屏幕上onAttach()
、onCreate()
、onCreateView()
、onActivityCreated()
、onStart()
和onResume()
会依次执行。 - 当
Fragment A
被Fragment B
替代Fragment A
的变化情况onPause()
、onStop()
和onDestroyView()
方法会得到执行如果没有调用addToBackStack()
方法会进入销毁状态onDestroy()
和onDetach()
方法就会得到执行。 - 当上述情况改为在
Fragment A
没有被销毁的时按下BACK
让Fragment A
重新回到屏幕onCreateView()
、onActivityCreated()
、onStart()
和onResume()
会依次执行。 - 退出程序时
onPause()
、onStop()
、onDestroyView()
、onDestroy()
和onDetach()
方法会依次执行。
阿里云国内75折 回扣 微信号:monov8 |
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6 |