【问题标题】:confusion regarding fragments' lifeCycle关于片段生命周期的困惑
【发布时间】:2015-01-29 12:44:24
【问题描述】:

我有一个托管 ViewPager 并包含三个选项卡(MQTT、ECO、Logger)的 mainActivity。 mainActivity 有生命周期回调(onCreat,onResume),其他三个选项卡有 Fragment' 生命周期回调(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().

当我滑动到生态选项卡“第二个”时,logCa 只报告碎片,但是当我滑动到第三个选项卡“记录器”时,它已经 实现了 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?

【问题讨论】:

    标签: android android-fragments fragment android-fragmentactivity activity-lifecycle


    【解决方案1】:

    默认情况下,ViewPager 仅将相邻的选项卡保留在内存中,因此当您转到第三个选项卡时,您的第一个选项卡会被销毁,并在您返回中间时重新创建。您可以使用yourViewPager.setOffscreenPageLimit(int) 更改此行为。

    【讨论】:

    • 相邻标签是指我在viewpager托管的三个标签吗?
    • 相邻的意思是当前选择/可见的和之前和之后的。在这些情况下,它总是会考虑当前视图。
    猜你喜欢
    • 2021-01-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-21
    • 2012-11-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多