SupportMapFragment and DrawerLayout in one AppCompatActivity

My hierarchy:

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

Exception:

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

After commenting out map or navigation drawer app start working correctly.

How to make SupportMapFragment and DrawerLayout in one Activity and what is the reason for this exeption?

Answer

Use this Way :

Dependency section of my 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>

Leave a Reply

Your email address will not be published. Required fields are marked *