我有一个mainActivity,它承载一个ViewPager并包含三个Tabs(MQTT,ECO,Logger)。 mainActivity具有生命周期回调(onCreat,onResume),其他三个选项卡具有Fragment' lifeCycle回调(onattached,onCreateView,onViewcreated,onResume,onPause)。
在运行时,我在logCat中收到以下内容:
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-tab"第二个"时,logCa报告片段没有任何内容,但当我滑到第三个标签时#Log;" -which一直都是 已实现 - logCat显示:
01-29 13:37:27.062: W/MQTT_Settings_Frag(31412): @onPause().
当我从Logger-tab切换回Eco-Tab时,LogCat会发出以下信息:
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?
答案 0 :(得分:2)
默认情况下,ViewPager仅在内存中保留相邻选项卡,因此当您转到第三个选项卡时会破坏第一个选项卡,并在返回中间时重新创建。您可以使用yourViewPager.setOffscreenPageLimit(int)
更改此行为。