1

我正在尝试将谷歌地图视图添加到现有片段。按照开发人员文档的说明,我在片段中包含了以下 xml:

<fragment
  android:id="@+id/map"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  class="com.google.android.gms.maps.MapFragment" />

但是,我最终每次都会收到 IllegalArgumentException:

02-28 18:54:21.133: E/AndroidRuntime(11300): Caused by:     java.lang.IllegalArgumentException: Binary XML file line #158: Duplicate id 0x7f050019, tag null, or parent id 0x0 with another fragment for com.google.android.gms.maps.SupportMapFragment

02-28 18:54:21.133: E/AndroidRuntime(11300): 在 android.support.v4.app.FragmentActivity.onCreateView(FragmentActivity.java:285) 02-28 18:54:21.133: E/AndroidRuntime(11300) :在 android.view.LayoutInflater.createViewFromTag(布局

有什么解决方法吗?

4

1 回答 1

0

当布局包含片段http://developer.android.com/about/versions/android-4.2.html#NestedFragments时,您不能将布局膨胀到片段中

MapFragment 应该在代码中动态添加,例如:

MapFragment fragment = new MapFragment();
FragmentTransaction transaction = getChildFragmentManager().beginTransaction();
transaction.add(R.id.mapView, fragment).commit();

并在 xml 布局中:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
 android:layout_width="match_parent"
 android:layout_height="match_parent" >

<FrameLayout
    android:id="@+id/mapView"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >
</FrameLayout>

</RelativeLayout>
于 2013-03-25T13:47:30.083 回答