【问题标题】:Fragment Loads data every time i switch between tabs每次我在选项卡之间切换时,片段都会加载数据
【发布时间】:2014-12-17 13:03:48
【问题描述】:

在我的应用程序中,我正在使用带有视图寻呼机的片段选项卡主机,并且我在每个选项卡中打开子片段。 每次我切换选项卡数据时都会重新加载,并且其中一个选项卡包含谷歌地图,在谷歌地图中以编程方式添加标记,但每次我切换选项卡时,地图上的标记都会加倍,例如如果我在切换后第一次添加了 10 个标记,一旦它得到 20,依此类推。

I have used this code to open child fragment

使用片段页面适配器和视图分页器

所以请告诉我如何停止重新加载片段。

【问题讨论】:

    标签: google-maps android-fragments tabs fragment-tab-host


    【解决方案1】:

    发生这种情况是因为每个片段都有一个生命周期 (http://developer.android.com/guide/components/fragments.html),当您切换选项卡数据时,片段会被销毁并创建另一个片段。

    您正在使用带有视图分页器的片段,这由父 Activity 控制,因此您可以移动代码以将地图加载到 Activity,并且只需使用片段来显示存储在 Activity 中的数据。

    您可以在片段中使用此代码获取父活动:

    (YourActivity) this.getActivity();
    

    【讨论】:

    • 您能详细说明一下吗?
    • 当然。就像您说的那样,您正在片段内的地图上加载标记,因此您可以将该代码移动到您的活动中,以防止每次切换选项卡时添加。有了这个,当您创建活动时,您总是只会以编程方式添加 10 个标记。现在有意义吗?
    • 但我只需要使用片段
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-17
    • 1970-01-01
    • 2021-08-19
    • 1970-01-01
    相关资源
    最近更新 更多