NavigationDrawer中的setRetainInstance

时间:2015-05-06 15:01:10

标签: android android-fragments android-googleapiclient

我发现了很多关于setRetainInstance方法的信息,但是我想知道如何在导航抽屉活动中实现这个方法?

我基本上有:

  • 一个活动,包含......
  • 一个NavigationDrawerFragment,包含...
  • TopLevelMapFragment(显示Google地图)。

我的目标是在用户旋转屏幕时防止重新加载整个地图及其轨迹。导航抽屉活动中setRetainingInstance的基本概念是什么?我是否必须在NavigationDrawerFragment和TopLevelMapFragment中调用setRetainingInstance(true)?

1 个答案:

答案 0 :(得分:0)

我终于找到了解决问题的方法: 当我创建导航抽屉活动时,我依赖于Android Studio的默认导航抽屉活动模板。在此模板中,每次用户单击导航抽屉中的项目时,都会调用FragmentTransaction- 替换方法。问题:replace-method破坏指定容器中的所有片段。 因此,如果您想让您的碎片保持活力,请不要使用替换方法。您必须使用添加,显示和隐藏方法。 另外,我在我的Google Maps-Fragment中调用setRetainInstance(true)-method,以便在用户旋转屏幕时片段保持活动状态。