首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >片段的lifeCycle混淆

片段的lifeCycle混淆
EN

Stack Overflow用户
提问于 2015-01-29 12:44:24
回答 1查看 494关注 0票数 1

我有一个mainActivity,它承载一个ViewPager并包含三个Tabs (MQTT、ECO、Logger)。mainActivity有生命周期回调(onCreat、onResume),其他三个选项卡有片段‘lifeCycle回调(onattached、onCreateView、onViewcreated、onResume、onPause)。

在运行时,我在logCat中接收以下内容:

代码语言:javascript
复制
01-29 13:28:28.732: W/MainActivity(31412): @onCreate().
01-29 13:28:28.802: W/MainActivity(31412): @onResume().
01-29 13:28:28.842: W/MQTT_Settings_Frag(31412): @onAttach().
01-29 13:28:28.842: W/MQTT_Settings_Frag(31412): @onCreateView().
01-29 13:28:28.862: W/MQTT_Settings_Frag(31412): @onViewCreated().
01-29 13:28:28.862: W/MQTT_Settings_Frag(31412): @onResume().
01-29 13:28:28.862: W/Eco_Settings_Frag(31412): @onAttach().
01-29 13:28:28.862: W/Eco_Settings_Frag(31412): @onCreateView().
01-29 13:28:28.892: W/Eco_Settings_Frag(31412): @onViewCreated().
01-29 13:28:28.892: W/Eco_Settings_Frag(31412): @onResume().

当我滑动到Eco选项卡“第二个”时,logCa没有报告任何片段,但是当我滑动到第三个选项卡"Logger"-which已经实现- logCat显示:

代码语言:javascript
复制
01-29 13:37:27.062: W/MQTT_Settings_Frag(31412): @onPause().

当我从Logger-选项卡滑回Eco-Tab时,LogCat将执行以下操作:

代码语言:javascript
复制
01-29 13:37:52.292: W/MQTT_Settings_Frag(31412): @onCreateView().
01-29 13:37:52.322: W/MQTT_Settings_Frag(31412): @onViewCreated().
01-29 13:37:52.322: W/MQTT_Settings_Frag(31412): @onResume().


why the first tab "MQTT-Tab" goes in onPause() when i goto only to the third Tab Logger-Tab?
And why the first tab "MQTT-Tab" goes into (onCreateView, onViewCreated, onResume) when i move to the secondtab Eco-tab frm the third one LoggerTab?
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-01-29 12:51:13

默认情况下,ViewPager只在内存中保留相邻的选项卡,因此,当您转到第三个选项卡时,第一个选项卡就会被销毁,当您回到中间时重新创建该选项卡。您可以通过使用yourViewPager.setOffscreenPageLimit(int)来改变这种行为。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28215105

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档