2016-06-12 94 views
1

我的層次:SupportMapFragment和DrawerLayout在一個AppCompatActivity

<android.support.v4.widget.DrawerLayout 
    <android.support.v7.widget.Toolbar 
     <fragment "com.google.android.gms.maps.SupportMapFragment" 
<android.support.design.widget.NavigationView 

例外:

Caused by: java.lang.IllegalArgumentException: Binary XML file line 
#9: Duplicate id 0x7f0d007b, tag null, or parent id 0xffffffff with another fragment for com.google.android.gms.maps.SupportMapFragment 

註釋掉地圖或導航應用抽屜後開始正常工作。

如何使SupportMapFragmentDrawerLayout在一個Activity和什麼是這種豁免的原因?

回答

0

用這樣的方式:

的build.gradle的

相關部分

dependencies { 
    compile fileTree(dir: 'libs', include: ['*.jar']) 
    compile 'com.android.support:appcompat-v7:23.0.0' 
    compile 'com.google.android.gms:play-services:7.8.0' 
    compile 'com.android.support:design:23.0.0' 
} 

activity_main.xml中

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    xmlns:tools="http://schemas.android.com/tools"  
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    tools:context=".MainActivity"> 

    <android.support.v4.widget.DrawerLayout 
     android:id="@+id/drawer" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent"> 

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

      <android.support.design.widget.FloatingActionButton 
       android:id="@+id/add" 
       android:layout_width="wrap_content" 
       android:layout_height="fill_parent" 
       android:layout_margin="16dp" 
       android:clickable="true" 
       android:src="@drawable/ic_maps_navigation" 
       app:backgroundTint="#777" 
       android:layout_gravity="bottom|end"/> 

     </FrameLayout> 

     <FrameLayout 
      android:id="@+id/nav_container" 
      android:layout_gravity="start" 
      android:layout_width="240dp" 
      android:layout_height="fill_parent"/> 

    </android.support.v4.widget.DrawerLayout> 

</RelativeLayout> 
+0

@ user3871754我已經發布了結構看我的答案下面。 – Ironman

+0

謝謝,我正在檢查它,你可以添加評論,什麼是我的層次結構? – user3871754