web-dev-qa-db-fra.com

Erreur de gonflage de la classe Android.support.design.widget.NavigationView

J'ai suivi un didacticiel du nouveau composant NavigationView dans la bibliothèque de conception du support technique et je ne peux pas passer au travers de ce message d'erreur:

Error inflating class Android.support.design.widget.NavigationView

J'ai essayé chaque solution ici

Erreur lors de l'utilisation d'un élément de la bibliothèque de support technique Android Design

mais le message d'erreur existe toujours.

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'
}

Projet build.gradle

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.Android.tools.build:gradle:1.2.3'
    }
}

styles.xml

<?xml version="1.0" encoding="utf-8"?>

<!-- Base application theme. -->
<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>
    <!-- Support library compatibility -->
    <item name="windowActionBarOverlay">true</item>

    <!-- ActionBar color -->
    <item name="colorPrimary">#E91E63</item>
    <!-- Status bar color -->
    <item name="colorPrimaryDark">#C2185B</item>
    <!-- Window color -->
    <item name="Android:windowBackground">@color/white</item>
    <!-- ActionBar title text -->
    <item name="Android:titleTextStyle">@style/AppTheme.MyActionBarTitleText</item>

    <item name="colorAccent">#9E9E9E</item>

    <item name="drawerArrowStyle">@style/AppTheme.MyDrawerArrowStyle</item>

    <!-- color for actionMenu-->
    <item name="actionMenuTextColor">#FFFFFF</item>
    <item name="Android:actionMenuTextColor">#FFFFFF</item>
    <!-- Android:textColorSecondary is the color of the menu
   overflow icon (three vertical dots) -->
    <item name="Android:textColorPrimary">#212121</item>
    <item name="Android:textColorSecondary">#FFFFFF</item>
    <!--Navigation bar color-->
    <item name="Android:navigationBarColor">#E91E63</item>
    <!--Status bar color-->
    <item name="Android:statusBarColor">#C2185B</item>
</style>

Toute aide serait appréciée!

Modifier - Ajouter @ menu/tiroir & @ menu/tiroir_header & stacktrace

tiroir.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>

tiroir_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 (une partie seulement)

Trois exceptions sont indiquées ci-dessous: elles indiquent toutes que le problème est causé par la ligne "setContentView (layout)" située dans layout.xml.

Java.lang.RuntimeException: Unable to start activity  ComponentInfo{com.ais.cherry/com.ais.cherry.activity.FirstActivity}:    Android.view.InflateException: Binary XML file line #32: Error inflating    class Android.support.design.widget.NavigationView

Caused by: Android.view.InflateException: Binary XML file line #32: Error inflating class Android.support.design.widget.NavigationView

Caused by: Java.lang.reflect.InvocationTargetException

Caused by: Android.content.res.Resources$NotFoundException: Resource ID #0x0
74
pptang

En fait, il n’est pas question de primarycolortext, de la mise à niveau ou de la dégradation des dépendances. Ce problème se produira probablement lorsque la version de votre bibliothèque appcompat et celle de la bibliothèque de support de conception ne correspondent pas. 

Exemple de condition correspondante

compile 'com.Android.support:appcompat-v7:23.1.1' // appcompat library
compile 'com.Android.support:design:23.1.1'       //design support library
78
Balman Rawat

J'ai eu une erreur similaire . Quand j'utilise 

<style name="AppTheme.Base" parent="Theme.AppCompat.Light.NoActionBar">

    <item name="colorPrimary">#673AB7</item>
    <item name="colorPrimaryDark">#512DA8</item>
    <item name="colorAccent">#00BCD4</item>
    <item name="Android:textColorPrimary">#212121</item>
    <item name="Android:textColorSecondary">#727272</item>

</style>

fonctionne pour moi lorsque je supprime les éléments de thème Android: textColorPrimary et Android: textColorSecondary.

<style name="AppTheme.Base" parent="Theme.AppCompat.Light.NoActionBar">

    <item name="colorPrimary">#673AB7</item>
    <item name="colorPrimaryDark">#512DA8</item>
    <item name="colorAccent">#00BCD4</item>

</style>

Essayez de travailler avec un thème d'application très simple pour commencer.

MODIFIER:

Ce tutorial va vous aider ... Je crois comprendre que l'utilisation de "Android: textColorPrimary" nécessite un niveau minimum d'API 21. Utiliser la même balise sans "Android:" utilise la bibliothèque de support de conception. Tout widget de bibliothèque de support tentera de trouver l'élément "textColorPrimary" au lieu de "Android: textColorPrimary" et s'il ne parvient pas à trouver le même résultat, l'erreur susmentionnée est renvoyée.

43
Parag Naik

J'ai aussi eu la même erreur. Dans mon cas, certaines des ressources étaient uniquement dans drawable-v21. Copiez également ces ressources dans un dossier pouvant être dessiné. Cela a résolu le problème pour moi.

Caused by: Android.content.res.Resources$NotFoundException: Resource ID #0x0 

C'est le problème majeur.

34
Sajal

Eh bien, j’essayais de corriger cette erreur. Et aucun n'a fonctionné pour moi. Je ne pouvais pas trouver de solution . Scénario:

J'allais juste créer un Navigation Drawer Project dans Android Studio 2.1.2 Et lorsque j'essayais de changer l'icône Android par défaut dans nav_header_main.xml, j'avais des erreurs étranges. J'ai découvert que je déposais mon logo PNG dans le ...\app\src\main\res\drawable-21. Quand j'essaie de mettre mon logo PNG dans ...\app\src\main\res\drawable bam! Toutes les erreurs étranges disparaissent.

Voici quelques traces de pile lorsque je mettais PNG dans le dossier drawable-21:

08-17 17:29:56.237 6644-6678/myAppName  E/dalvikvm: Could not find class 'Android.util.ArrayMap', referenced from method com.Android.tools.fd.runtime.Restarter.getActivities
08-17 17:30:01.674 6644-6644/myAppName E/AndroidRuntime: FATAL EXCEPTION: main
                                                                         Java.lang.RuntimeException: Unable to start activity ComponentInfo{myAppName.MainActivity}: Android.view.InflateException: Binary XML file line #16: Error inflating class <unknown>
                                                                             at Android.app.ActivityThread.performLaunchActivity(ActivityThread.Java:2372)
                                                                             at Android.app.ActivityThread.handleLaunchActivity(ActivityThread.Java:2424)
                                                                             at Android.app.ActivityThread.handleRelaunchActivity(ActivityThread.Java:3956)
                                                                             at Android.app.ActivityThread.access$700(ActivityThread.Java:169)
                                                                             at Android.app.ActivityThread$H.handleMessage(ActivityThread.Java:1394)
                                                                             at Android.os.Handler.dispatchMessage(Handler.Java:107)
                                                                             at Android.os.Looper.loop(Looper.Java:194)
                                                                             at Android.app.ActivityThread.main(ActivityThread.Java:5433)
                                                                             at Java.lang.reflect.Method.invokeNative(Native Method)
                                                                             at Java.lang.reflect.Method.invoke(Method.Java:525)
                                                                             at com.Android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.Java:924)
                                                                             at com.Android.internal.os.ZygoteInit.main(ZygoteInit.Java:691)
                                                                             at dalvik.system.NativeStart.main(Native Method)
                                                                          Caused by: Android.view.InflateException: Binary XML file line #16: Error inflating class <unknown>
                                                                             at Android.view.LayoutInflater.createView(LayoutInflater.Java:613)
                                                                             at Android.view.LayoutInflater.createViewFromTag(LayoutInflater.Java:687)
                                                                             at Android.view.LayoutInflater.rInflate(LayoutInflater.Java:746)
                                                                             at Android.view.LayoutInflater.inflate(LayoutInflater.Java:489)
                                                                             at Android.view.LayoutInflater.inflate(LayoutInflater.Java:396)
                                                                             at Android.view.LayoutInflater.inflate(LayoutInflater.Java:352)
                                                                             at Android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.Java:280)
                                                                             at Android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.Java:140)
                                                                             at edu.uswat.fwd82.findmedoc.MainActivity.onCreate(MainActivity.Java:22)
                                                                             at Android.app.Activity.performCreate(Activity.Java:5179)
                                                                             at Android.app.Instrumentation.callActivityOnCreate(Instrumentation.Java:1146)
                                                                             at Android.app.ActivityThread.performLaunchActivity(ActivityThread.Java:2336)
                                                                             at Android.app.ActivityThread.handleLaunchActivity(ActivityThread.Java:2424) 
                                                                             at Android.app.ActivityThread.handleRelaunchActivity(ActivityThread.Java:3956) 
                                                                             at Android.app.ActivityThread.access$700(ActivityThread.Java:169) 
                                                                             at Android.app.ActivityThread$H.handleMessage(ActivityThread.Java:1394) 
                                                                             at Android.os.Handler.dispatchMessage(Handler.Java:107) 
                                                                             at Android.os.Looper.loop(Looper.Java:194) 
                                                                             at Android.app.ActivityThread.main(ActivityThread.Java:5433) 
                                                                             at Java.lang.reflect.Method.invokeNative(Native Method) 
                                                                             at Java.lang.reflect.Method.invoke(Method.Java:525) 
                                                                             at com.Android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.Java:924) 
                                                                             at com.Android.internal.os.ZygoteInit.main(ZygoteInit.Java:691) 
                                                                             at dalvik.system.NativeStart.main(Native Method) 
                                                                          Caused by: Java.lang.reflect.InvocationTargetException
                                                                             at Java.lang.reflect.Constructor.constructNative(Native Method)
                                                                             at Java.lang.reflect.Constructor.newInstance(Constructor.Java:417)
                                                                             at Android.view.LayoutInflater.createView(LayoutInflater.Java:587)
                                                                             at Android.view.LayoutInflater.createViewFromTag(LayoutInflater.Java:687) 
                                                                             at Android.view.LayoutInflater.rInflate(LayoutInflater.Java:746) 
                                                                             at Android.view.LayoutInflater.inflate(LayoutInflater.Java:489) 
                                                                             at Android.view.LayoutInflater.inflate(LayoutInflater.Java:396) 
                                                                             at Android.view.LayoutInflater.inflate(LayoutInflater.Java:352) 
                                                                             at Android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.Java:280) 
                                                                             at Android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.Java:140) 
                                                                             at edu.uswat.fwd82.findmedoc.MainActivity.onCreate(MainActivity.Java:22) 
                                                                             at Android.app.Activity.performCreate(Activity.Java:5179) 
                                                                             at Android.app.Instrumentation.callActivityOnCreate(Instrumentation.Java:1146) 
                                                                             at Android.app.ActivityThread.performLaunchActivity(ActivityThread.Java:2336) 
                                                                             at Android.app.ActivityThread.handleLaunchActivity(ActivityThread.Java:2424) 
                                                                             at Android.app.ActivityThread.handleRelaunchActivity(ActivityThread.Java:3956) 
                                                                             at Android.app.ActivityThread.access$700(ActivityThread.Java:169) 
                                                                             at Android.app.ActivityThread$H.handleMessage(ActivityThread.Java:1394) 
                                                                             at Android.os.Handler.dispatchMessage(Handler.Java:107) 
                                                                             at Android.os.Looper.loop(Looper.Java:194) 
                                                                             at Android.app.ActivityThread.main(ActivityThread.Java:5433) 
                                                                             at Java.lang.reflect.Method.invokeNative(Native Method) 
                                                                             at Java.lang.reflect.Method.invoke(Method.Java:525) 
                                                                             at com.Android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.Java:924) 
                                                                             at com.Android.internal.os.ZygoteInit.main(ZygoteInit.Java:691) 
                                                                             at dalvik.system.NativeStart.main(Native Method) 
                                                                          Caused by: Android.view.InflateException: Binary XML file line #14: Error inflating class ImageView
                                                                             at Android.view.LayoutInflater.createViewFromTag(LayoutInflater.Java:704)
                                                                             at Android.view.LayoutInflater.rInflate(LayoutInflater.Java:746)
                                                                             at Android.view.LayoutInflater.inflate(LayoutInflater.Java:489)
                                                                             at Android.view.LayoutInflater.inflate(LayoutInflater.Java:396)
at Android.support.design.internal.NavigationMenuPresenter.inflateHeaderView(NavigationMenuPresenter.Java:189)
at Android.support.design.widget.NavigationView.inflateHeaderView(NavigationView.Java:262)
at Android.support.design.widget.NavigationView.<init>(NavigationView.Java:173)
at Android.support.design.widget.NavigationView.<init>(NavigationView.Java:95)
at Java.lang.reflect.Constructor.constructNative(Native Method) 
at Java.lang.reflect.Constructor.newInstance(Constructor.Java:417) 
at Android.view.LayoutInflater.createView(LayoutInflater.Java:587) 
                                                                             at Android.view.LayoutInflater.createViewFromTag(LayoutInflater.Java:687) 
                                                                             at Android.view.LayoutInflater.rInflate(LayoutInflater.Java:746) 
                                                                             at Android.view.LayoutInflater.inflate(LayoutInflater.Java:489) 
                                                                             at Android.view.LayoutInflater.inflate(LayoutInflater.Java:396) 
                                                                             at Android.view.LayoutInflater.inflate(LayoutInflater.Java:352) 
                                                                             at Android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.Java:280) 
                                                                             at Android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.Java:140) 
                                                                             at edu.uswat.fwd82.findmedoc.MainActivity.onCreate(MainActivity.Java:22) 
                                                                             at Android.app.Activity.performCreate(Activity.Java:5179) 
                                                                             at Android.app.Instrumentation.callActivityOnCreate(Instrumentation.Java:1146) 
                                                                             at Android.app.ActivityThread.performLaunchActivity(ActivityThread.Java:2336) 
                                                                             at Android.app.ActivityThread.handleLaunchActivity(ActivityThread.Java:2424) 
                                                                             at Android.app.ActivityThread.handleRelaunchActivity(ActivityThread.Java:3956) 
                                                                             at Android.app.ActivityThread.access$700(ActivityThread.Java:169) 
                                                                             at Android.app.ActivityThread$H.handleMessage(ActivityThread.Java:1394) 
                                                                             at Android.os.Handler.dispatchMessage(Handler.Java:107) 
                                                                             at Android.os.Looper.loop(Looper.Java:194) 
                                                                             at Android.app.ActivityThread.main(ActivityThread.Java:5433) 
                                                                             at Java.lang.reflect.Method.invokeNative(Native Method) 
                                                                             at Java.lang.reflect.Method.invoke(Method.Java:525) 
                                                                             at com.Android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.Java:924) 
                                                                             at com.Android.internal.os.ZygoteInit.main(ZygoteInit.Java:691) 
                                                                             at dalvik.system.NativeStart.main(Native Method) 
                                                                          Caused by: Java.lang.NullPointerException
                                                                             at Android.content.res.ResourcesEx.getThemeDrawable(ResourcesEx.Java:459)
                                                                             at Android.content.res.ResourcesEx.loadDrawable(ResourcesEx.Java:435)
                                                                             at Android.content.res.TypedArray.getDrawable(TypedArray.Java:609)
                                                                             at Android.widget.ImageView.<init>(ImageView.Java:120)
                                                                             at Android.support.v7.widget.AppCompatImageView.<init>(AppCompatImageView.Java:57)
                                                                             at Android.support.v7.widget.AppCompatImageView.<init>(AppCompatImageView.Java:53)
                                                                             at Android.support.v7.app.AppCompatViewInflater.createView(AppCompatViewInflater.Java:106)
                                                                             at Android.support.v7.app.AppCompatDelegateImplV7.createView(AppCompatDelegateImplV7.Java:980)
                                                                             at Android.support.v7.app.AppCompatDelegateImplV7.onCreateView(AppCompatDelegateImplV7.Java:1039)
                                                                             at Android.support.v4.view.LayoutInflaterCompatHC$FactoryWrapperHC.onCreateView(LayoutInflaterCompatHC.Java:44)
                                                                            at Android.view.LayoutInflater.createViewFromTag(LayoutInflater.Java:

Comme vous pouvez le voir, la trace de pile ci-dessus comprend:

Android.support.design.widget.NavigationView.inflateHeaderView (NavigationView.Java:262) sur Android.support.design.widget.NavigationView. (NavigationView.Java:173) sur Android.support.design.widget.NavigationView. (NavigationView.Java:95)

14
fWd82

J'ai eu la même erreur, je l'ai résolue en ajoutant app:itemTextColor="@color/a_color" à ma vue de navigation:

<Android.support.design.widget.NavigationView
    Android:id="@+id/navigation_view"
    Android:layout_width="wrap_content"
    Android:layout_height="match_parent"
    Android:layout_gravity="left"
    app:headerLayout="@layout/layout_drawer_header"
    app:menu="@menu/drawer_menu"
    app:itemTextColor="@color/primary"/>

Vous pouvez toujours utiliser Android:textColorPrimary et Android:textColorSecondary dans votre thème avec cette méthode.

13
Pidikan

Je l'ai résolu en dégradant graduellement de

compile 'com.Android.support:design:23.1.0'

à

compile 'com.Android.support:design:23.0.1'

Il semble que j'ai toujours des problèmes lorsque je mets à jour un composant d'Android Studio. Se lasser.

11
Ton

Aucune des corrections ci-dessus n'a fonctionné pour moi.

Ce qui a fonctionné pour moi était en train de changer

<item name="Android:textColorSecondary">#FFFFFF</item>

à

<item name="Android:textColorSecondary">@color/colorWhite</item>

Vous devez évidemment ajouter colorWhite à votre colors.xml

6
Rafal Roszak

Les étapes ci-dessous supprimeront sûrement cette erreur.

  • Trouvez le widget à l'origine de l'erreur.
  • Allez dans le fichier de disposition où ce widget est déclaré.
  • Vérifiez toutes les ressources (drawables, etc.) utilisées dans ce fichier.
  • Assurez-vous ensuite que cette ressource existe dans toutes les versions de drawables (drawable-v21, drawable, etc.)

À votre santé!!

5
Prashant Paliwal

Comme Parag Naik mentionne correctement (et que Lng Hoàng se développe), le problème se pose lorsque vous définissez textColorPrimary sur autre chose qu'une liste d'état de couleur. Vous pouvez donc définir textColorPrimary en tant que liste d'états. Il y avait un problème dans le gestionnaire de bogues Android concernant le fait que colorPrimary soit une liste d'état avec une seule couleur: https://code.google.com/p/Android/issues/detail?id=172353

Donc, pour votre thème dans styles.xml:

<style name="Base.Theme.Hopster" parent="Theme.AppCompat.Light.NoActionBar">
    <item name="colorPrimary">@color/primary</item>
    <item name="colorPrimaryDark">@color/primary_dark</item>
    <item name="colorAccent">@color/accent</item>

    <item name="Android:textColorPrimary">@color/primary_color_statelist</item>
</style>

Et le fichier primary_color_statelist.xml actuel:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:Android="http://schemas.Android.com/apk/res/Android">
    <!-- This is used when the Navigation Item is checked -->
    <item Android:color="@color/primary_text_selected" Android:state_checked="true" />
    <!-- This is the default text color -->
    <item Android:color="@color/primary_text" />
</selector>
5
Chris

Pour moi, j'ai rencontré cette erreur plusieurs fois, 

Erreur de gonflage de la classe Android.support.design.widget.NavigationView # 28 et # 29

La solution qui fonctionne pour moi est que vous devez associer votre bibliothèque de conception de support et votre bibliothèque de support appcompat.

compile 'com.Android.support:appcompat-v7:23.1.1'

compile 'com.Android.support:design:23.1.1'

Pour moi, ils doivent correspondre. :) Ça marche pour moi!

4
RoCk Vangeance

Juste pour qui arrive encore à cette question. J'ai eu le même problème mais toutes les solutions ici ne fonctionnent pas pour moi.

Prenez simplement alook sur la classe NavigationView avec la queue de logcat, j’ai trouvé que le problème venait de cette ligne de code:

itemTextColor = this.createDefaultColorStateList(16842806);

Ainsi, il semble lié à itemTextColor comme mentionné par Aenur56. J'ai donc essayé avec la solution d'Aenur56 mais cela ne fonctionne pas.

Jetez un coup d’œil sur la ligne de code ci-dessus, je remarque qu’il existe ColorStateList. Donc je crée un puis mis pour itemTextColor puis ça marche.

<selector xmlns:Android="http://schemas.Android.com/apk/res/Android">
    <item Android:color="#00FF00" Android:state_checked="true" />
    <item Android:color="#000000" />
</selector>

J'espère que ça aide!

3
Lạng Hoàng

Dans mon cas, j'ai eu la même erreur lorsque je lance l'application dans le périphérique version KitKat API 19. J'ai compris le problème; J'avais quelques ressources disponibles dans le répertoire drawable-v21 (qui est utilisé pour les versions de l'API 21 Lollipop). Je viens de mettre les mêmes ressources dans le dossier "Drawable" pour travailler avec la version ci-dessous API 21. Cela fonctionne. Vous pouvez le mettre sur le répertoire correspondant

3
Gibs

Aucune des solutions ci-dessus ne m'a aidé. J'ai trouvé cela sur une autre page Web et cela a fonctionné pour moi: "Dans la bibliothèque de projets project.properties, ciblez 21 ou plus disponible, puis libérez le design lib, appcomapt et votre projet et profitez-en"

J'espère que ça va aider!

3
Michał Stawski

Cette erreur peut être due aux raisons mentionnées ci-dessous.

  1. Ce problème se produira probablement lorsque la version de votre bibliothèque appcompat et de la bibliothèque de support de conception ne correspond pas à . Exemple de condition de correspondance

     compile 'com.Android.support:appcompat-v7:24.2.0' // appcompat library
    
     compile 'com.Android.support:design:24.2.0' //design support library
    
  2. Si votre fichier de thème dans les styles ont seulement ces deux-là,

     <item name="colorPrimary">#4A0958</item>
     <item name="colorPrimaryDark">#4A0958</item>
    

ajoutez ensuite ColorAccent également. Cela devrait ressembler un peu à ça.

 <style name="AppTheme.Base" parent="Theme.AppCompat.Light.NoActionBar">

  <item name="colorPrimary">#4A0958</item>
  <item name="colorPrimaryDark">#4A0958</item>
  <item name="colorAccent">#4A0958</item>

 </style>
1
Vishal Puri

J'avais aussi le même problème. Après avoir regardé pendant près de 3 heures, je découvris que le problème se trouvait dans mon fichier drawable_menu.xml, il était écrit à tort: ​​D

1
Antarix

Assurez-vous que vos tirables pour le menu sont dans le bon dossier, le mien où mis dans drawable v21, ce qui a provoqué un pointeur null sur la ressource.

Correction de l'achat en déplaçant mes icônes dans le dossier Drawables

1
Ismael ozil

J'ai eu le même problème après la mise à niveau de la bibliothèque de support et aucune des réponses n'a fonctionné pour moi. Enfin, j'ai résolu le téléchargement de la dernière version des outils de génération et la mise à niveau de build.gradle vers buildToolsVersion "23.0.1".

1
Erick

MEILLEUR I UPGRADED com.Android.support:appcompat-v7:23.1.0

comme @Ton a dit downgrade compile 'com.Android.support:design:23.1.0'

BUT Pourquoi ne pas mettre à jourcom.Android.support:appcompat-v7:23.1.1

Final mis à niveau a fonctionné pour moi profiter

compile 'com.Android.support:appcompat-v7:23.1.1'
compile 'com.Android.support:design:23.1.1'

Alors pourquoi utiliser une bibliothèque plus ancienne. Je pense qu'il est maintenant préférable d'utiliser à la fois le design et le compact mis à jour.

1
karan

C'est un projet étrange mais propre et un projet de reconstruction a fonctionné pour moi.

0
shaby

J'ai trouvé la solution ... Si vous utilisiez app: srcCompat, passez à Android: src Cette solution a fonctionné pour moi :)

0
Khun Htet Naing

Si vous avez déjà migré vers androidx, vous devez modifier votre mise en page XML À partir de 

<Android.support.design.widget.NavigationView ... />

à 

<com.google.Android.material.navigation.NavigationView ... />
0
Mark Pazon

Une chose à vérifier est que vous avez appliqué votre thème correctement dans votre fichier AndroidManifest.xml. Dans mon cas, j'avais omis le Android: thème attribut. Par exemple:

<application ... Android:theme="@style/Your.Theme.Here" ... >
0
David Conlisk

Méthode générique de résolution de problèmes tels que Error inflating class X:

  1. cochez cause trace de pile et il devrait y avoir Resources$NotFoundException comme ceci:
Caused by: Android.content.res.Resources$NotFoundException: Resource ID #0x7f0b0066
    at Android.content.res.ResourcesImpl.getValue(ResourcesImpl.Java:190)
    at Android.content.res.Resources.loadXmlResourceParser(Resources.Java:2094)
    at Android.content.res.Resources.getLayout(Resources.Java:1111)
    at Android.view.LayoutInflater.inflate(LayoutInflater.Java:424)
  1. Resource ID est en fait le nombre entier exact du fichier R.Java généré.
  2. Trouvez 0x7f0b0066 qui pointe vers le fichier XML qui n'a pas pu être gonflé (trouvé).
  3. Dans la plupart des cas, c'est parce que le répertoire layout ne possède pas cette ressource, mais certains layout-XXX en ont.
  4. Et la solution consiste à mettre des ressources dans tous les répertoires requis. Ou tout au moins dans layout.
0
eleven