【发布时间】:2019-08-21 17:47:27
【问题描述】:
我在同一屏幕上显示带有自动完成搜索栏的片段中的谷歌地图。我的 xml 布局是这样的
<LinearLayout ..>
<Fragment .../> // the map fragment
<Fragment .../> // the auto complete support fragment
</LinearLayout>
当您单击 AutoCompleteSupportFragment 搜索栏时,它会打开覆盖窗口,以便您进行搜索。退出后,我从日志中注意到 MAP 片段正在重新启动(再次调用 OnCreate 和 OnCreateView)。
就好像显示嵌套片段正在重置父片段。这是一个问题,因为我丢失了任何信息,我无法将所选地点从酒吧发送回地图
有什么帮助吗?
PS:没有添加嵌套片段的代码。片段是谷歌片段并在 XML 中定义。
【问题讨论】:
-
您应该可以使用
onSavedInstanceState来维护状态和数据。 -
这与维护无关,这里的问题是为什么片段首先重新启动。我需要将选定的位置传递给地图片段,以便导航到它,如果地图片段被破坏,那么这是一个问题。我只是想知道地图碎片与搜索碎片如何共存。
-
这是“重新启动”,因为这就是片段生命周期的工作方式。您应该考虑其他选项,例如使用工具栏(或其他视图)进行搜索。这是片段链接developer.android.com/guide/components/fragments。它会告诉你为什么你的片段会重启。
-
那么地图片段和自动完成片段(都是good提供的小部件)如何协同工作并且在搜索时不重新启动?
-
也许你执行错了。 developers.google.com/places/android-sdk/autocomplete又是谁说不重启的?
标签: android google-maps android-fragments google-places-api