【发布时间】:2017-12-12 13:55:44
【问题描述】:
我有一个应用程序,它有一个仪表板,其中包含一个 Google 地图 (SupportMapFragment) 和一些由附加传感器自动更新的计数器。他们记录了一次自行车骑行。我们称这个片段为 A。
我还有一些其他片段,例如设置,一个包含以前游乐设施的列表。我们称它们为片段 B、C、D。
当在导航视图中按下一个项目时,片段将被放置在 DrawerLayout 内的 FrameLayout 内(带有 NavigationView)。这很好用,只是当返回片段 A 时,会使用干净的地图(也就是不包含当前记录的骑行的轨迹线)和空传感器创建一个新视图。
Fragment A 总是在创建抽屉布局活动时创建。片段 B/C/D 在此基础上创建,当 onBackPressed 或在菜单中按下仪表板项时,这些片段会从返回堆栈中弹出,只剩下 A。
我的问题如下: 如何保持 Fragment A 中的视图处于活动状态/内存中,以便在访问另一个片段时继续绘制地图上的线?当我回到片段 A 时,它们还在吗?
当我有一个单独的仪表板活动并在清单中使用 android:launchMode="singleInstance" 修饰符时,我实现了同样的目标。
我还尝试过的其中一件事是将 setRetainInstance(true) 放在片段 A 中。
提前致谢。
【问题讨论】:
标签: android android-fragments maps