三九宝宝网宝宝百科宝宝知识

android fragment和activity相互切换的时候生命周期怎么走

02月10日 编辑 39baobao.com

[如何测试android activity的生命周期]1 一个activity从创建到显示调用顺序 2 按返回键退出activity 3 从应用管理中“强行停止” 4 按返回退出后长按home键调出应用 或 点击应用重新进入 5 按主页键退出 然后长...+阅读

Fragment的生命周期初探:

因为Fragment必须嵌入在Acitivity中使用,所以Fragment的生命周期和它所在的Activity是密切相关的。

如果Activity是暂停状态,其中所有的Fragment都是暂停状态;如果Activity是stopped状态,这个Activity中所有的Fragment都不能被启动;如果Activity被销毁,那么它其中的所有Fragment都会被销毁。

但是,当Activity在活动状态,可以独立控制Fragment的状态,比如加上或者移除Fragment。

当这样进行fragment transaction(转换)的时候,可以把fragment放入Activity的back stack中,这样用户就可以进行返回操作。

使用Fragment时,需要继承Fragment或者Fragment的子类(DialogFragment, ListFragment, PreferenceFragment, WebViewFragment),所以Fragment的代码看起来和Activity的类似。

每当创建一个Fragment时,首先添加以下三个回调方法:

onCreate():系统在创建Fragment的时候调用这个方法,这里应该初始化相关的组件,一些即便是被暂停或者被停止时依然需要保留的东西。 onCreateView():当第一次绘制Fragment的UI时系统调用这个方法,该方法将返回一个View,如果Fragment不提供UI也可以返回null。注意,如果继承自ListFragment,onCreateView()默认的实现会返回一个ListView,所以不用自己实现。 onPause():当用户离开Fragment时第一个调用这个方法,需要提交一些变化,因为用户很可能不再返回来。

将Fragment加载到Activity当中有两种方式:

方式一:添加Fragment到Activity的布局文件当中 方式二:在Activity的代码中动态添加Fragment(荐)

第一种方式虽然简单但灵活性不够。添加Fragment到Activity的布局文件当中,就等同于将Fragment及其视图与activity的视图绑定在一起,且在activity的生命周期过程中,无法切换fragment视图。

第二种方式比较复杂,但也是唯一一种可以在运行时控制fragment的方式(加载、移除、替换)。

以下为关联文档:

ANDroid横竖屏切换时候activity的生命周期1、不设置Activity的android:configChanges时,切屏会重新调用各个生命周期,切横屏时会执行一次,切竖屏时会执行两次 2、设置Activity的android:configChanges=”orientation”...

输入法切换不了输入法不能切换解决方法 在输入法图标上右键(图一),设置(图二)。然后将默认输入语言改为美式键盘试试(图三)(如果是操作下面步骤)。 1、首先进入语言设置(选中“简体中文—美式键盘...

输入法切换不了了输入法无法切换最好解决方法 首先任务栏上的输入法图标上点右键选择设置。 然后选择键设置,双击第一个“在不同的输入语言之间切换”先勾选“切换输入语言”下面选择左手ALT...

输入法切换不了怎么办【拷贝被人内容可耻】 如果你用的是Windows XP中,输入法图标也会莫名其妙地丢失,但在控制面板中却没有“输入法”,这时可以按以下方法尝试: 【ALT+F4专利,拷贝被人内容可耻】 方...

为什么切换不了输入法先确认你的电脑当中是否存在问题。 切换不了输入法 在输入法设置当中,先确认已安装的服务当中,你是否增加了新的输入法,再在下方首选项,单击“键设置”,在再要关闭 Caps lock 当...

输入法不能切换怎么办?输入法不能切换解决方案二: 在任务栏上鼠标右键,在菜单中选择“工具栏-->Tablet PC输入面板”,然后点击“更改键盘”,新窗口随便点一下任何一个输入法,不需要做做其他任何改动,一...

有时候输入法切换不出来怎么办解决办法: 1、右键单击任务栏空白处--工具栏--语言栏。 2、开始--设置--控制面板--区域和语言选项--语言--详细信息--首选项--语言栏(此时如果语言栏是灰色不可调状态,点高级,把...

软件架构设计主要应用于软件生存周期的哪个阶段软件工程是研究和应用如何以系统性的、规范化的、可定量的过程化方法去开发和维护软件,以及如何把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来...

诺基亚Lumia 510如何在步行驾车和公共交通路线之间切换诺基亚Lumia 510在步行、驾车和公共交通路线之间切换方法:在详细路线视图中,点击 、 或 。 仅当在您所在的位置和您的目的地之前能够找到有效的连接时,才会显示公共交通路线。...

推荐阅读
图文推荐