wake-up-neo.com

Fehler beim Aufblasen der Klasse Android.support.design.widget.NavigationView

Ich habe ein Tutorial der neuen Komponente NavigationView in Support Design Library verfolgt und kann diese Fehlermeldung nicht durchgehen:

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

Ich habe hier jeden Workaround ausprobiert

Fehler bei der Verwendung von Android Design Support Library-Elementen

aber Fehlermeldung ist noch vorhanden.

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

Projekt 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>

Jede Hilfe wäre dankbar!

Bearbeiten - Hinzufügen von @ menu/drawer & @ menu/drawer_header & 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 (nur ein Teil davon)

Es wurden drei Ausnahmen wie folgt ausgegeben: all weist darauf hin, dass die Probleme durch die Zeile "setContentView (layout)" in layout.xml verursacht werden.

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

Eigentlich geht es nicht um primarycolortext, das Upgrade oder das Downgrade der Abhängigkeiten. Dieses Problem wird wahrscheinlich auftreten, wenn die Version Ihrer appcompat-Bibliothek und der Design-Support-Bibliothek nicht übereinstimmen. 

Beispiel für eine Übereinstimmungsbedingung

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

Ich hatte einen ähnlichen Fehler ... Wenn ich benutze 

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

funktioniert für mich, wenn ich das Android entferne: textColorPrimary und Android: textColorSecondary-Designelemente.

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

Versuchen Sie, mit einem sehr einfachen App-Thema zu arbeiten, um damit zu beginnen.

BEARBEITEN:

Dieses Tutorial wird helfen. Ich verstehe, dass die Verwendung von "Android: textColorPrimary" mindestens API-Level 21 erfordert. Die Verwendung des gleichen Tags ohne "Android:" verwendet die Design-Support-Bibliothek. Jedes Widget für die Unterstützungsbibliothek versucht, das Element "textColorPrimary" anstelle von "Android: textColorPrimary" zu finden. Wenn dies nicht der Fall ist, wird der oben genannte Fehler ausgegeben.

43
Parag Naik

Ich hatte auch den gleichen Fehler. In meinem Fall waren einige der Ressourcen nur in drawable-v21. Kopieren Sie diese Ressourcen auch in einen Zeichnungsordner. Dies löste das Problem für mich.

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

Das ist das Hauptproblem.

34
Sajal

Nun, ich versuchte diesen Fehler zu beheben. Und keiner hat für mich gearbeitet. Ich konnte die Lösung nicht herausfinden . Szenario:

Ich wollte gerade einen Navigation Drawer Project in Android Studio 2.1.2 erstellen. Wenn ich versuche, das Standard-Android-Symbol in nav_header_main.xml zu ändern, bekam ich einige seltsame Fehler. Ich fand heraus, dass ich mein PNG-Logo in den ...\app\src\main\res\drawable-21 ablegte. Wenn ich versuche, mein PNG-Logo in ...\app\src\main\res\drawable bam zu setzen! Alle seltsamen Fehler gehen weg.

Im Folgenden sind einige der Stack-Trace aufgeführt, als ich PNG in den drawable-21-Ordner legte:

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:

Wie Sie sehen können, umfasst die obige Stapelverfolgung:

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

14
fWd82

Ich hatte den gleichen Fehler, ich habe ihn behoben, indem ich app:itemTextColor="@color/a_color" zu meiner Navigationsansicht hinzufügte:

<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"/>

Mit dieser Methode können Sie weiterhin Android:textColorPrimary und Android:textColorSecondary in Ihrem Design verwenden.

13
Pidikan

Ich habe das Downgrade in Gradle aus gelöst

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

zu

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

Anscheinend bekomme ich immer Probleme, wenn ich Komponenten von Android Studio aktualisiere. Müde davon werden.

11
Ton

Keine der oben genannten Korrekturen funktionierte für mich.

Was für mich funktionierte, veränderte sich

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

zu

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

Sie müssen natürlich colorWhite zu Ihrer colors.xml hinzufügen

6
Rafal Roszak

Die folgenden Schritte werden diesen Fehler sicher beseitigen.

  • Finden Sie das Widget, das den Fehler verursacht.
  • Wechseln Sie in die Layoutdatei, in der das Widget deklariert ist.
  • Überprüfen Sie alle in dieser Datei verwendeten Ressourcen (Drawables usw.).
  • Stellen Sie dann sicher, dass die Ressource in allen Drawable-Versionen vorhanden ist (drawable-v21, drawable usw.).

Prost!!

5

Wie Parag Naik richtig erwähnt (und Lạng Hoàng erweitert sich), tritt das Problem auf, wenn textColorPrimary auf etwas anderes als eine Farbstatusliste gesetzt wird. Sie können textColorPrimary also als Statusliste festlegen. Im Android-Bugtracker gibt es ein Problem, dass colorPrimary eine Statusliste mit nur einer Farbe ist: https://code.google.com/p/Android/issues/detail?id=172353

Also für dein Theme in 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>

Und die eigentliche primary_color_statelist.xml-Datei:

<?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

Bei mir ist dieser Fehler oft aufgetreten, 

Fehler beim Aufblasen der Klasse Android.support.design.widget.NavigationView # 28 und # 29

Die Lösung, die für mich funktioniert, ist, dass Sie Ihre Supportdesign-Bibliothek und Ihre Support-Appcompat-Bibliothek anpassen müssen.

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

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

Für mich müssen sie passen. :) Für mich geht das!

4
RoCk Vangeance

Nur für diejenigen, die noch zu diesem Thema kommen. Ich bin zu dem gleichen Problem gekommen, aber alle Lösungen hier funktionieren nicht für mich.

Nehmen Sie einfach einen Blick auf die NavigationView-Klasse mit Cue von logcat. Ich fand das Problem aus dieser Codezeile:

itemTextColor = this.createDefaultColorStateList(16842806);

Es scheint also verwandt mit itemTextColor zu sein, wie Aenur56 erwähnt. Ich habe es mit der Lösung von Aenur56 versucht, aber es funktioniert nicht.

Schauen Sie sich die Codezeile oben an, ich stelle fest, dass es ColorStateList gibt. Also erstelle ich dann ein Set für itemTextColor, dann funktioniert es.

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

Ich hoffe es hilft!

3
Lạng Hoàng

In meinem Fall hatte ich den gleichen Fehler, wenn ich die App in einem Gerät mit KitKat API 19-Version ausführte. Ich habe das Problem herausgefunden. Ich hatte einige Drawable-Ressourcen, die sich im drawable-v21-Verzeichnis befanden (welches für Versionen von API 21 Lollipop verwendet wird). Ich habe einfach die gleichen Ressourcen in den "Drawable" -Ordner gestellt, um mit der Version unter API 21 zu arbeiten. Es funktioniert. Sie können es in das entsprechende Verzeichnis legen

3
Gibs

Keine der oben genannten Lösungen hat mir geholfen. Ich habe dies auf einer anderen Webseite gefunden und es hat für mich funktioniert - "In project.properties der Designbibliothek als Ziel 21 oder höchstes verfügbares Objekt festlegen, dann bereinigen Sie das Design lib, appcomapt und Ihr Projekt und genießen Sie es."

Hoffe es wird helfen!

3
Michał Stawski

Dieser Fehler kann aus folgenden Gründen auftreten.

  1. Dieses Problem wird wahrscheinlich auftreten, wenn die Version Ihrer Appcompat-Bibliothek und Design-Unterstützungsbibliothek nicht mit ..__ übereinstimmt

     compile 'com.Android.support:appcompat-v7:24.2.0' // appcompat library
    
     compile 'com.Android.support:design:24.2.0' //design support library
    
  2. Wenn Ihre Designdatei in Stilen nur diese beiden hat,

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

dann fügen Sie auch ColorAccent hinzu. Es sollte ungefähr so ​​aussehen.

 <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

Ich hatte auch das gleiche Problem, nachdem ich fast 3 Stunden gesucht hatte, fand ich heraus, dass das Problem in meiner drawable_menu.xml-Datei lag. Es wurde falsch geschrieben: D

1
Antarix

Vergewissern Sie sich, dass sich Ihre Drawables für das Menü im richtigen Ordner befinden. In meinem Ordner drawable v21 wurde ein Nullzeiger auf die Ressource angezeigt.

Problem beim Kauf meiner Icons in Zeichnungsordner behoben

1
Ismael ozil

Ich hatte das gleiche Problem nach dem Upgrade der Support-Bibliothek und keine der Antworten funktionierte für mich. Schließlich habe ich das Herunterladen der neuesten Version von Build-Tools und das Upgrade in build.gradle auf buildToolsVersion "23.0.1" behoben.

1
Erick

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

wie @Ton sagte downgrade compile 'com.Android.support:design:23.1.0'

ABER warum nichtcom.Android.support:appcompat-v7:23.1.1 aktualisieren?

Letztes Upgrade funktionierte für mich viel Spaß

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

Warum also ältere Bibliothek verwenden? Ich denke, jetzt ist es besser, sowohl Design als auch kompaktes Upgrade zu verwenden.

1
karan

Es ist seltsam, aber sauberes Projekt und Wiederaufbauprojekt hat für mich funktioniert.

0
shaby

Ich fand die Lösung ... Wenn Sie die App verwendet haben: srcCompat zu Android ändern: src Diese Lösung funktionierte für mich :)

0
Khun Htet Naing

Wenn Sie bereits zu androidx migriert haben, sollten Sie Ihr Layout xml Von ändern 

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

zu 

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

Eine Sache, die Sie noch einmal überprüfen sollten, ist, dass Sie Ihr Design in Ihrer AndroidManifest.xml-Datei korrekt angewendet haben. In meinem Fall hatte ich das Attribut Android: theme weggelassen. Z.B:

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

Allgemeiner Weg zur Lösung von Problemen wie Error inflating class X:

  1. Überprüfen Sie die Ursachenstapelverfolgung, und es sollte Resources$NotFoundException wie folgt aussehen:
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 ist eigentlich eine ganze Zahl aus der generierten R.Java-Datei.
  2. Finde 0x7f0b0066, der auf die XML-Datei verweist, die nicht aufgeblasen werden konnte (gefunden).
  3. In den meisten Fällen liegt dies daran, dass das Verzeichnis layout nicht über diese Ressource verfügt, jedoch einige layout-XXX.
  4. Die Lösung besteht darin, Ressourcen in alle erforderlichen Verzeichnisse zu legen. Oder zumindest in layout.
0
eleven