膨胀多个视图以显示多个地图片段



我有一个包含以下代码的xml布局:

<fragment
android:id="@+id/map"
android:layout_width="match_parent"
android:layout_height="100dp"
android:name="com.google.android.gms.maps.SupportMapFragment" />

此布局可以在主活动中多次膨胀,在这种情况下,应显示多个 MapFragment。但是,当发生这种情况时,我收到以下错误:

Duplicate id 0x7f0a0213, tag null, or parent id 0xffffffff with another fragment for com.google.android.gms.maps.SupportMapFragment

根据我的理解,发生这种情况是因为您不能拥有超过 1 个具有相同 id 的<fragment>

如何用这些地图片段多次膨胀这些视图?是否可以在每次布局膨胀时为每个片段分配不同的 ID?

编辑:我找到了这个。我想我无法以编程方式设置片段本身的 ID。

只需将 id 从 android:id="@+id/map" 更改 到 android:id="@+id/map2" 等。 请注意,每个谷歌地图的性能和内存都很昂贵,所以问问自己你真的需要不止一张地图吗?

最新更新