I followed the tutorial of the new NavigationView component in the design support library and cannot go through this error message:
Error inflating class android.support.design.widget.NavigationView
I tried every workaround here
Error using any elements of the Android design support library
but the error message still exists.
XML
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@+id/drawer_layout" android:layout_width="match_parent" android:layout_height="match_parent" android:fitsSystemWindows="true" > <RelativeLayout android:layout_width="match_parent" android:layout_height="match_parent" > <include layout="@layout/toolbar" android:id="@+id/mainToolBar" /> <fragment android:name="com.ais.cherry.fragment.LoginFragment" android:id="@+id/loginFragment" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_below="@id/mainToolBar" /> <fragment android:name="com.ais.cherry.fragment.WaterFallFragment" android:id="@+id/mainFragment" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_below="@id/mainToolBar" /> <fragment android:name="com.ais.cherry.fragment.SearchFragment" android:id="@+id/searchFragment" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_below="@id/mainToolBar" /> <fragment android:name="com.ais.cherry.fragment.ChatMainFragment" android:id="@+id/chatMainFragment" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_below="@id/mainToolBar" /> <fragment android:name="com.ais.cherry.fragment.ProfileFragment" android:id="@+id/profileFragment" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_below="@id/mainToolBar" /> <android.support.design.widget.NavigationView android:id="@+id/nav_view" android:layout_width="240dp" android:layout_height="match_parent" android:layout_gravity="start" android:background="@android:color/white" app:itemTextColor="#212121" app:headerLayout="@layout/drawer_header" app:menu="@menu/drawer" /> </android.support.v4.widget.DrawerLayout>
build.gradle
buildscript { repositories { mavenCentral() maven { url 'https://maven.fabric.io/public' } } dependencies { classpath 'io.fabric.tools:gradle:1.+' classpath 'com.android.tools.build:gradle:1.2.3' } } compileSdkVersion 22 buildToolsVersion "22.0.1" defaultConfig { applicationId "com.ais.cherry" minSdkVersion 16 targetSdkVersion 22 multiDexEnabled true renderscriptTargetApi 22 renderscriptSupportModeEnabled true } dependencies { compile 'com.android.support:appcompat-v7:22.2.0' compile 'com.android.support:support-v4:22.2.0' compile 'com.android.support:design:22.2.0' compile 'com.android.support:recyclerview-v7:22.2.0' }
Project build.gradle
buildscript { repositories { jcenter() } dependencies { classpath 'com.android.tools.build:gradle:1.2.3' } }
styles.xml
<?xml version="1.0" encoding="utf-8"?>
<style name="AppTheme" parent="AppTheme.Base"> </style> <style name="AppTheme.Base" parent="Theme.AppCompat.Light.NoActionBar"> <item name="android:windowActionBarOverlay">true</item> <item name="android:windowActionModeOverlay">true</item> <item name="android:actionModeStyle">@style/AppTheme.ActionModeStyle</item> <item name="android:windowActionBar">false</item> <item name="windowActionBar">false</item> <item name="windowNoTitle">true</item> <item name="android:windowNoTitle">true</item> <item name="windowActionBarOverlay">true</item> <item name="colorPrimary">#E91E63</item> <item name="colorPrimaryDark">#C2185B</item> <item name="android:windowBackground">@color/white</item> <item name="android:titleTextStyle">@style/AppTheme.MyActionBarTitleText</item> <item name="colorAccent">#9E9E9E</item> <item name="drawerArrowStyle">@style/AppTheme.MyDrawerArrowStyle</item> <item name="actionMenuTextColor">#FFFFFF</item> <item name="android:actionMenuTextColor">#FFFFFF</item> <item name="android:textColorPrimary">#212121</item> <item name="android:textColorSecondary">#FFFFFF</item> <item name="android:navigationBarColor">#E91E63</item> <item name="android:statusBarColor">#C2185B</item> </style>
Any help would be appreciated!
Edit - add the menu @ / box and @ menu / drawer_header and stacktrace
drawer.xml
<menu xmlns:android="http://schemas.android.com/apk/res/android"> <group android:checkableBehavior="single"> <item android:id="@+id/nav_first_fragment" android:icon="@drawable/home_view" android:checked="true" android:title="@string/main"/> <item android:id="@+id/nav_second_fragment" android:icon="@drawable/comment_view" android:title="@string/chat"/> <item android:id="@+id/nav_third_fragment" android:icon="@drawable/user_view" android:title="@string/profile"/> <item android:title="@string/search"> <menu> <item android:title="@string/clothes"/> <item android:title="@string/pants"/> </menu> </item> </group> </menu>
drawer_header.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="192dp" android:background="?attr/colorPrimaryDark" android:padding="16dp" android:theme="@style/ThemeOverlay.AppCompat.Dark" android:gravity="bottom"> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/title" android:textColor="@android:color/white" android:textAppearance="@style/TextAppearance.AppCompat.Body1"/> </LinearLayout>
StackTrace (only a part of them)
He eliminated three exceptions, as shown below: everything indicates that the problems are caused by the "setContentView (layout)" line in the layout.xml file.
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.ais.cherry/com.ais.cherry.activity.FirstActivity}: android.view.InflateException: Binary XML file line
android android-support-library androiddesignsupport
pptang Jun 08 '15 at 12:39 on 2015-06-08 12:39
source share