Android.support.design.widget.NavigationView sınıfı şişirilirken hata oluştu


87

Destek Tasarım Kitaplığı'nda yeni bir bileşen NavigationView öğreticisini takip ettim ve bu hata mesajını alamıyorum:

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

Buradaki her çözümü denedim

Herhangi bir Android Tasarım Destek Kitaplığı Öğesi kullanılırken hata

ancak hata mesajı hala var.

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

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

Herhangi bir yardım memnuniyetle karşılanacaktır!

Düzenle - @ menu / drawer & @ menu / drawer_header & stacktrace ekle

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 (sadece bir kısmı)

Aşağıdaki gibi üç istisna ortaya çıkarmıştır: hepsi sorunların layout.xml'deki "setContentView (layout)" satırından kaynaklandığını belirtir.

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

Xml @layout/drawer_headerve xml'yi de gönderebilir misiniz @menu/drawer?
TheoK

Ayrıca, lütfen yığın izlemesinin tamamını gönderin.
CommonsWare

@TheoK Ben Düzenleme sorum ~ teşekkürler
pptang

Kaynaklarınızdan birini bulamıyor. Hangisi olduğunu bilmiyorum.
CommonsWare

Bununla karşılaştım çünkü bazı kodları yeniden düzenledim. Temel olarak, daha doğru olması için parentFragment adlı bir değişkeni yeniden düzenledim ve android studio da styles.xml'de değişiklik yaptı. Stili ana = “<whatever-base-class>” olarak düzeltmem gerekti ve tekrar çalıştı.
Saifur Rahman Mohsin

Yanıtlar:


83

Aslında primarycolortextsorun bağımlılıkların yükseltilmesi veya düşürülmesi değildir. Bu sorun büyük olasılıkla appcompatkitaplığınızın ve tasarım destek kitaplığınızın sürümü eşleşmediğinde ortaya çıkacaktır .

Eşleşen koşul örneği

compile 'com.android.support:appcompat-v7:23.1.1' // appcompat library
compile 'com.android.support:design:23.1.1'       //design support library

Benim gibi bir acemi için bu sorunu nasıl tespit edeceğimi açıklar mısınız lütfen :)
Jerome2606

Uygulamanızda / build.gradle'da buna benzer şeyler için her zaman bir değişken bildirirseniz, aşağıdaki gibi değişmeyi unutmanızı engellersiniz:def supportVersion = '25.1.0' compile "com.android.support:appcompat-v7:$supportVersion" compile "com.android.support:design:$supportVersion"
riper

3
Benim kullandığım her iki kütüphane de aynı ama yine de aynı hatayı alıyor. Aşağıdaki kod derlemesini kontrol edin 'com.android.support:appcompat-v7:23.4.0' compile 'com.android.support:design:23.4.0'
Maya Mohite

1
Kullanmalıyım support of version 26. Kullanıyorum 'com.android.support:appcompat-v7:26.1.0'. Mı 26.1.0doğru?
Nimmagadda Gowtham

Gradle 4.1'de compileSdkVersion 25 buildToolsVersion '26 .0.2 've' com.android.support:appcompat-v7:23.0.0 'compile' com.android.support:design:23.0.0 'compile' com.android ile karşılaşılan hata .support: support-v4: 23.0.0 'Aşağıdaki değişikliklerin yapılması çözüldü' com.android.support:appcompat-v7:25.0.0 'compile' com.android.support:design:25.0.0 'compile' com.android .support: support-v4: 25.0.0 '
iambegineer

45

Benzer bir hata yaşadım. Kullandığım zaman

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

android: textColorPrimary ve android: textColorSecondary tema öğelerini kaldırdığımda benim için çalışıyor.

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

Başlamak için çok basit bir Uygulama temasıyla çalışmayı deneyin.

DÜZENLE:

Bu eğitim yardımcı olacaktır. Anladığım kadarıyla "android: textColorPrimary" kullanmak minimum API seviyesi 21 gerektirir. Aynı etiketi "android:" olmadan kullanmak tasarım destek kitaplığını kullanır. Herhangi bir destek kitaplığı pencere öğesi "android: textColorPrimary" yerine "textColorPrimary" öğesini bulmaya çalışır ve aynısını bulamazsa yukarıda belirtilen hatayı atar.


Teşekkürler, bir cazibe gibi çalışıyor !!!! ancak bu iki özelliği neden kaldırmamız gerektiğini biliyor musunuz?
pptang

4
Bu iki özelliğe hiç sahip olmadım ve hala aynı hatayı alıyorum. Herhangi bir fikir?
Shubham Chaudhary

1
Değerler-v21 / styles.xml içine android: textColorPrimary eklesem bile benim için hala başarısız oluyor
David

1
Lütfen Balman Rawat'ın aşağıda verdiği cevabı düşünün . Benim durumumda her iki cevabı da uygulamak zorunda kaldım.
NewStackOverflowUser

@Parag Naik Haftamı kurtardın teşekkürler :) Bu topluluğu seviyorum.
Yasin Kaçmaz

41

Ben de aynı hatayı aldım. Benim durumumda kaynakların bir kısmı yalnızca çekilebilir v21 sürümündeydi. Bu kaynakları da çekilebilir klasöre kopyalayın. Bu benim için sorunu çözdü.

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

Esas sorun budur.


2
Evet. Benim için aynı. Bir kullanarak çekilebilir XML dosyası yoktu vectoriçinde v21klasörü ve <21 standart klasörde gelen şey. Teşekkürler.
eoinzy

1
Spot on .. Resimleri drawable-xx olarak ekledim ama drawable olarak eklemedim. Sorun buydu
Rahul Hawge

1
çok teşekkürler selector.xml ve diğer xml dosyam da oradaydı. Kopyalayıp sorunu kurtarıyorum
MohammadL

27

Adresine zaten geçtiyseniz androidx, xml düzeninizi

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

-e

<com.google.android.material.navigation.NavigationView ... />

15

Aynı hatayı app:itemTextColor="@color/a_color"aldım, navigasyon görünümüme ekleyerek çözdüm:

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

Yine de bu yöntemle temanızdaki android:textColorPrimaryve kullanabilirsiniz android:textColorSecondary.


Çözümünüzü buradan denedim , ancak yine de aynı hata mesajını alıyorum. Yine de yardımın için teşekkürler.
pptang

15

Ben de bu hatayı düzeltmeye çalışıyordum. Ve hiçbiri benim için çalışmadı. Çözüm bulamadım. Senaryo:

Navigation Drawer ProjectAndroid Studio 2.1.2'nin içinden bir tane yapacaktım ve varsayılan Android simgesini değiştirmeye çalıştığımda nav_header_main.xmlbazı garip hatalar alıyordum. Logomu PNGiçine düşürdüğümü anladım ...\app\src\main\res\drawable-21. PNG logomu ...\app\src\main\res\drawablebam'a koymaya çalıştığımda ! Tüm tuhaf hatalar ortadan kalkar.

PNG'yi drawable-21klasöre koyduğumda bazı yığın izleme örnekleri :

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:2424at android.app.ActivityThread.handleRelaunchActivity(ActivityThread.java:3956at android.app.ActivityThread.access$700(ActivityThread.java:169at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1394at android.os.Handler.dispatchMessage(Handler.java:107at android.os.Looper.loop(Looper.java:194at android.app.ActivityThread.main(ActivityThread.java:5433at java.lang.reflect.Method.invokeNative(Native Method) 
                                                                             at java.lang.reflect.Method.invoke(Method.java:525at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:924at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:691at 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:687at android.view.LayoutInflater.rInflate(LayoutInflater.java:746at android.view.LayoutInflater.inflate(LayoutInflater.java:489at android.view.LayoutInflater.inflate(LayoutInflater.java:396at android.view.LayoutInflater.inflate(LayoutInflater.java:352at android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:280at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:140at edu.uswat.fwd82.findmedoc.MainActivity.onCreate(MainActivity.java:22at android.app.Activity.performCreate(Activity.java:5179at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1146at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2336at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2424at android.app.ActivityThread.handleRelaunchActivity(ActivityThread.java:3956at android.app.ActivityThread.access$700(ActivityThread.java:169at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1394at android.os.Handler.dispatchMessage(Handler.java:107at android.os.Looper.loop(Looper.java:194at android.app.ActivityThread.main(ActivityThread.java:5433at java.lang.reflect.Method.invokeNative(Native Method) 
                                                                             at java.lang.reflect.Method.invoke(Method.java:525at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:924at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:691at 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:417at android.view.LayoutInflater.createView(LayoutInflater.java:587at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:687at android.view.LayoutInflater.rInflate(LayoutInflater.java:746at android.view.LayoutInflater.inflate(LayoutInflater.java:489at android.view.LayoutInflater.inflate(LayoutInflater.java:396at android.view.LayoutInflater.inflate(LayoutInflater.java:352at android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:280at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:140at edu.uswat.fwd82.findmedoc.MainActivity.onCreate(MainActivity.java:22at android.app.Activity.performCreate(Activity.java:5179at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1146at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2336at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2424at android.app.ActivityThread.handleRelaunchActivity(ActivityThread.java:3956at android.app.ActivityThread.access$700(ActivityThread.java:169at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1394at android.os.Handler.dispatchMessage(Handler.java:107at android.os.Looper.loop(Looper.java:194at android.app.ActivityThread.main(ActivityThread.java:5433at java.lang.reflect.Method.invokeNative(Native Method) 
                                                                             at java.lang.reflect.Method.invoke(Method.java:525at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:924at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:691at 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:

Gördüğünüz gibi yukarıdaki Yığın İzleme şunları içerir:

android.support.design.widget.NavigationView.inflateHeaderView (NavigationView.java:262) android.support.design.widget.NavigationView. (NavigationView.java:173) at android.support.design.widget.NavigationView. (NavigationView. java: 95)


1
Çok güzel, cevap için teşekkürler. Diğer tüm gönderilerde kaçınılmış bir cevap gibi görünüyor. Çekilebilir-v21'i oluşturmaya ve hepsini oraya koymaya çalışıyordum, halihazırda çekilebilir klasörüm vardı ve onu oraya yerleştirmem gerekiyordu
kuant

11

Bunu gradle'dan düşürerek çözdüm

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

-e

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

Görünüşe göre Android Studio'nun herhangi bir bileşenini güncellediğimde her zaman sorun yaşıyorum. Bundan bıkmak.


1
Tasarım Destek Kitaplığı, Android Studio ile neredeyse hiç ilişkilidir.
Sotti

Aynı sorunu yaşadım ve yalnızca @Ton'un belirtildiği gibi Sürüm Düşürerek çözebildim. Destek Kitaplığı'nın Android Studio Eklentisi ve Platform güncellemeleriyle nasıl ilişkili olduğunu gerçekten bilmiyorum, ancak bazılarını veya diğerlerini her güncellediğimde benim için çalışmıyor. Bu cevabı gerçekten öneriyorum.
Saraschandraa

1
Sürüm düşürme yerine Compact'ı 23.1.0 ile eşleşecek şekilde yükselttim. Yukarıda yeni kütüphaneler benim cevap kullanmak en iyisidir düşünüyorum stackoverflow.com/a/38141666/3172518
karan

8

Yukarıdaki düzeltmelerin hiçbiri benim için işe yaramadı.

Benim için işe yarayan şey değişiyordu

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

-e

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

Colors.xml dosyanıza kesinlikle colorWhite eklemeniz gerekiyor


8

Aşağıdaki adımların izlenmesi kesinlikle bu hatayı ortadan kaldıracaktır.

  • Hataya neden olan widget'ı bulun.
  • Bu parçacığın bildirildiği düzen dosyasına gidin.
  • Bu dosyada kullanılan tüm kaynakları (çekilebilirler vb.) Kontrol edin.
  • Ardından, çekilebilir öğelerin tüm sürümlerinde kaynağın bulunduğundan emin olun (çekilebilir-v21, çekilebilir vb.)

Şerefe !!


5

Parag Naik'in doğru bir şekilde bahsettiği (ve Lạng Hoàng'ın genişlediği) gibi, textColorPrimary'yi bir renk durumu listesinden başka bir şeye ayarlarken sorun ortaya çıkar. Böylece textColorPrimary'yi bir durum listesi olarak ayarlayabilirsiniz. Android hata izleyicide colorPrimary'nin yalnızca tek renkli bir durum listesi olmasıyla ilgili bir sorun var: https://code.google.com/p/android/issues/detail?id=172353

Yani, styles.xml'deki temanız için:

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

Ve gerçek primary_color_statelist.xml dosyası:

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

Benim durumumda, uygulamayı kitkat API 19 sürüm cihazında çalıştırdığımda aynı hatayı aldım. Sorunu çözdüm; Drawable-v21 dizininde olan bazı çekilebilir kaynaklarım vardı (API 21 Lollipop'tan sürümler için kullanılır). API 21'in altındaki sürümle çalışmak için aynı kaynakları "Drawable" klasörüne koydum. Çalışıyor. Onu ilgili dizine koyabilirsiniz


4

Benim için bu hatayla birçok kez karşılaştım,

Android.support.design.widget.NavigationView # 28 ve # 29 sınıfı şişirilirken hata oluştu

Benim için işe yarayan çözüm, destek tasarım kitaplığınız ve destek uygulaması uyumlu kitaplığınızla eşleşmeniz gerektiğidir.

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

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

Benim için eşleşmeleri gerekir. :) Benim için çalışıyor!


3

Sadece bu konuya hala ulaşanlar için. Aynı probleme gittim ama buradaki tüm çözümler benim için işe yaramıyor.

Logcat'in ipucuyla NavigationView sınıfına bir göz atın, sorunun bu kod satırından geldiğini buldum:

itemTextColor = this.createDefaultColorStateList(16842806);

Bu nedenle, Aenur56'nın bahsettiği gibi itemTextColor ile ilgili görünüyor. Bu yüzden Aenur56'nın çözümünü denedim ama işe yaramıyor.

Yukarıdaki kod satırına bir göz atın, ColorStateList olduğunu fark ettim. Bu yüzden bir tane oluşturup itemTextColor için ayarlıyorum ve sonra çalışıyor.

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

Umarım yardımcı olur!


3

Yukarıdaki çözümlerden hiçbiri bana yardımcı olmadı. Bunu başka bir web sayfasında buldum ve benim için işe yaradı - "Project.properties of design library'de hedefi 21 veya en yüksek mevcut olarak belirledikten sonra design lib, appcomapt ve projenizi temizleyin ve keyfini çıkarın"

Umarım yardımcı olur!


Tasarım kitaplığının proje.özellikleri nerede?
8oh8

2

Menü için çekilebilir öğelerinizin doğru klasörde olduğundan emin olun, benimki burada drawablev21'e yerleştirildi, bu nedenle bu, kaynağa bir nullpointer neden oldu.

Simgelerimi çekilebilir dosyalar klasörüne taşımayı satın alma sorunu düzeltildi


1

Destek kitaplığını yükselttikten sonra da aynı sorunu yaşadım ve yanıtların hiçbiri benim için işe yaramadı. Sonunda, derleme araçlarının en son sürümünü indirmeyi ve build.gradle'da yükseltme yapmayı çözdüm.buildToolsVersion "23.0.1"


1

Tekrar kontrol edilecek bir şey, temanızı AndroidManifest.xml dosyanıza doğru şekilde uyguladığınızdır. Benim durumumda, android: theme özelliğini atlamıştım. Örneğin:

<application ... android:theme="@style/Your.Theme.Here" ... >

1

DAHA İYİ YÜKSELDİM com.android.support:appcompat-v7:23.1.0

olarak @Ton bahsedilen düşürmecompile 'com.android.support:design:23.1.0'

AMA Neden yükseltmeyelim com.android.support:appcompat-v7:23.1.1

Son yükseltme benim için çalıştı zevk

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

Öyleyse neden eski kitaplığı kullanmalı? Bence artık hem tasarım hem de kompakt yükseltmeyi kullanmak daha iyi.


1
@Karan'ın yazdığı gibi, yeni sürümümü yükseltiyorum ve benim için çalışıyor.
Alexiscanny

1

Ben de aynı sorunu yaşıyordum, yaklaşık 3 saat baktıktan sonra sorunun drawable_menu.xml dosyamda olduğunu öğrendim, yanlış yazılmış: D


1

Bu hata, aşağıda belirtilen nedenlerden kaynaklanabilir.

  1. Bu sorun, büyük olasılıkla uygulama uyumlu kitaplığınızın ve tasarım destek kitaplığınızın sürümü eşleşmediğinde ortaya çıkacaktır. Eşleşen koşul örneği

     compile 'com.android.support:appcompat-v7:24.2.0' // appcompat library
    
     compile 'com.android.support:design:24.2.0' //design support library
    
  2. Stillerdeki tema dosyanız yalnızca bu ikisine sahipse,

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

ardından ColorAccent'i de ekleyin. Biraz böyle görünmeli.

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

düzenledim. Bu, yoksa ColorAccent'i de eklemek anlamına gelir.
Vishal Puri

1

Aşağıdaki gibi sorunları çözmenin genel yolu Error inflating class X:

  1. yığın izleme nedenini kontrol edin ve şöyle olmalıdır Resources$NotFoundException:
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 aslında oluşturulan R.java dosyasından tam tamsayıdır.
  2. 0x7f0b0066Şişirilemeyen (bulunan) xml dosyasına hangisinin işaret edeceğini bulun .
  3. Çoğu durumda bunun nedeni, dizinin layoutbu kaynağa sahip olmaması, ancak bazılarının layout-XXXsahip olmasıdır.
  4. Ve çözüm, gerekli tüm dizinlere kaynak koymaktır. Ya da en azından içine layout.

1

Garip ama temiz proje ve yeniden inşa projesi benim için çalıştı.


1

Benim durumumda

<android.support.design.widget.NavigationView...

ve uygulama yapılandırmasında:

implementation 'com.google.android.material:material:1.1.0'
implementation 'androidx.appcompat:appcompat:1.1.0'

Bu yüzden XML'yi şu şekilde değiştirdim:

com.google.android.material.navigation.NavigationView...

0

Çözüm buldum ... eğer app: srcCompat'ı android'e değiştirdiyseniz: src bu çözüm benim için çalıştı :)


0

Xamarin'de bu hatayla karşılaşıyordum. Bu, drawable-v21 klasöründe bulunan bazı dosyalardan kaynaklanıyordu . Bu yüzden bu dosyaları (muhtemelen simge dosyaları) çekilebilir klasöre kopyaladım ve hata ortadan kalktı.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.