Terjadi kesalahan saat mengembangkan kelas android.support.design.widget.NavigationView

87

Saya mengikuti tutorial komponen baru NavigationView di Support Design Library dan tidak bisa melewati pesan kesalahan ini:

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

Saya mencoba setiap solusi di sini

Terjadi error saat menggunakan Elemen Library Dukungan Desain Android apa pun

tapi pesan kesalahan masih ada.

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

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

Bantuan apa pun akan dihargai!

Edit - tambahkan @ menu / laci & @ 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 (hanya sebagian dari mereka)

Ini membuang tiga pengecualian seperti di bawah ini: semua menunjukkan bahwa masalah disebabkan oleh baris "setContentView (layout)" di dalam 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
pptang
sumber
Bisakah Anda juga memposting xml @layout/drawer_headerdan xml @menu/drawer?
TheoK
Selain itu, posting seluruh jejak tumpukan.
CommonsWare
@TheoK Saya Edit pertanyaan saya ~ terima kasih
pptang
Yah, itu tidak dapat menemukan salah satu sumber daya Anda. Tapi aku tidak tahu yang mana.
CommonsWare
Saya menghadapi ini karena saya merefaktor beberapa kode. Pada dasarnya saya memfaktorkan ulang variabel yang disebut parent ke parentFragment agar lebih akurat dan android studio juga membuat perubahan di styles.xml. Harus memperbaiki gaya kembali ke orang tua = "<whatever-base-class>" dan berhasil lagi.
Saifur Rahman Mohsin

Jawaban:

83

Sebenarnya ini bukan masalah primarycolortext, mengupgrade atau menurunkan dependensi. Masalah ini kemungkinan besar akan terjadi ketika versi Andaappcompat library dan design support library Anda tidak cocok.

Contoh kondisi pencocokan

compile 'com.android.support:appcompat-v7:23.1.1' // appcompat library
compile 'com.android.support:design:23.1.1'       //design support library
Balman Rawat
sumber
Bisakah Anda menjelaskan kepada saya cara mendeteksi masalah ini untuk pemula seperti saya
tlg
Jika Anda selalu mendeklarasikan variabel untuk hal-hal seperti ini di app / build.gradle, Anda tidak akan lupa untuk mengubahnya, seperti dalam:def supportVersion = '25.1.0' compile "com.android.support:appcompat-v7:$supportVersion" compile "com.android.support:design:$supportVersion"
riper
3
kedua perpustakaan yang saya gunakan sama tetapi masih mendapatkan kesalahan yang sama. Periksa di bawah kompilasi kode 'com.android.support:appcompat-v7:23.4.0' compile 'com.android.support:design:23.4.0'
Maya Mohite
1
Saya harus menggunakan support of version 26. Saya menggunakan 'com.android.support:appcompat-v7:26.1.0'. Apakah 26.1.0benar?
Nimmagadda Gowtham
Kesalahan dihadapi pada Gradle 4.1 dengan compileSdkVersion 25 buildToolsVersion '26 .0.2 'dan kompilasi' com.android.support:appcompat-v7:23.0.0 'compile' com.android.support:design:23.0.0 'compile' com.android .support: support-v4: 23.0.0 'Memecahkan membuat perubahan di bawah kompilasi' 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

Saya mengalami kesalahan serupa. Saat saya menggunakan

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

berfungsi untuk saya ketika saya menghapus item tema android: textColorPrimary dan 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>

Cobalah bekerja dengan tema Aplikasi yang sangat sederhana untuk memulai.

EDIT:

Tutorial ini akan membantu. Pemahaman saya adalah bahwa menggunakan "android: textColorPrimary" membutuhkan api minimum level 21. Menggunakan tag yang sama tanpa "android:" menggunakan pustaka dukungan desain. Widget pustaka dukungan apa pun akan mencoba menemukan item "textColorPrimary" alih-alih "android: textColorPrimary" dan jika gagal menemukan yang sama, hal itu akan memunculkan kesalahan yang disebutkan di atas.

Parag Naik
sumber
Terima kasih, Ini bekerja seperti pesona !!!! tetapi tahukah Anda mengapa kita harus menghapus dua atribut ini ??
pptang
4
Saya tidak pernah memiliki dua atribut ini, dan masih mendapatkan kesalahan yang sama. Ada ide?
Shubham Chaudhary
1
Bagi saya itu masih gagal bahkan jika saya menambahkan android: textColorPrimary di values-v21 / styles.xml
David
1
Silahkan simak jawaban Balman Rawat di bawah ini. Dalam kasus saya, saya harus menerapkan kedua jawaban tersebut.
LatestStackOverflowUser
@Parag Naik Anda menyelamatkan minggu saya terima kasih :) Saya suka komunitas ini.
Yasin Kaçmaz
41

Saya juga mengalami kesalahan yang sama. Dalam kasus saya, beberapa resource hanya dalam drawable-v21. Salin juga sumber daya tersebut ke folder drawable. Ini memecahkan masalah saya.

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

Ini masalah utamanya.

Sajal
sumber
2
Ya. Sama untuk ku. Ada file XML yang dapat digambar menggunakan a vectordalam v21folder dan tidak ada yang sesuai dalam folder standar <21. Terima kasih.
eoinzy
1
Tepat .. Saya menambahkan gambar dalam drawable-xx tetapi tidak dalam drawable. Itulah masalahnya
Rahul Hawge
1
terima kasih banyak selector.xml saya dan file xml lainnya juga ada di sana. Saya hanya menyalinnya dan menyimpan masalahnya
MohammadL
27

Jika Anda sudah bermigrasi ke androidx, Anda harus mengubah layout xml Anda dari

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

untuk

<com.google.android.material.navigation.NavigationView ... />
Mark Pazon
sumber
15

Saya mengalami kesalahan yang sama, saya mengatasinya dengan menambahkan app:itemTextColor="@color/a_color"ke tampilan navigasi saya:

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

Anda masih bisa menggunakan android:textColorPrimarydan android:textColorSecondarydi tema Anda dengan metode ini.

Pidikan
sumber
Saya sudah mencoba solusi Anda dari sini , tetapi masih mendapatkan pesan kesalahan yang sama. Terima kasih atas bantuan Anda.
pptang
15

Jadi saya mencoba untuk memperbaiki kesalahan ini. Dan tidak ada yang berhasil untuk saya. Saya tidak dapat menemukan solusi. Skenario:

Saya baru saja akan membuat Navigation Drawer Projectdi dalam Android Studio 2.1.2 Dan ketika saya mencoba mengubah ikon Android default di nav_header_main.xmlsaya mendapatkan beberapa kesalahan aneh. Saya menemukan bahwa saya melepaskan PNGlogo saya ke ...\app\src\main\res\drawable-21. Saat saya mencoba memasang logo PNG saya di ...\app\src\main\res\drawablebam! Semua kesalahan aneh hilang.

Berikut adalah beberapa stack trace saat saya memasukkan PNG ke dalam drawable-21folder:

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:

Seperti yang Anda lihat di atas Stack Trace meliputi:

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

fWd82
sumber
1
Bagus sekali, terima kasih atas jawabannya. Tampaknya semacam jawaban yang dihindari di semua pos lainnya. Saya mencoba membuat drawable-v21 dan mengatur semuanya di sana sementara saya sudah memiliki folder drawable dan harus meletakkannya di sana
kuant
11

Saya menyelesaikannya dengan menurunkan gradle dari

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

untuk

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

Sepertinya saya selalu mendapat masalah saat memperbarui komponen Android Studio apa pun. Bosan karenanya.

Ton
sumber
1
Design Support Library hampir tidak terkait dengan Android Studio.
Sotti
Saya memiliki masalah yang sama dan saya hanya bisa menyelesaikannya dengan Mendowngrade seperti yang disebutkan @Ton. Benar-benar tidak tahu bagaimana Pustaka Dukungan terkait dengan Plugin Android Studio dan pembaruan Platform, tetapi setiap kali saya memperbarui beberapa atau yang lainnya tidak berfungsi untuk saya. Saya sangat menyarankan jawaban ini.
Saraschandraa
1
Agak menurunkan versi, saya mengupgrade Compact agar sesuai dengan 23.1.0. Saya pikir yang terbaik adalah menggunakan perpustakaan yang lebih baru jawaban saya di atas stackoverflow.com/a/38141666/3172518
karan
8

Tidak ada perbaikan di atas yang berhasil untuk saya.

Apa yang berhasil bagi saya berubah

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

untuk

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

Anda jelas perlu menambahkan colorWhite ke colors.xml Anda

Rafal Roszak
sumber
8

Mengikuti langkah-langkah di bawah ini pasti akan menghapus kesalahan ini.

  • Temukan widget yang menyebabkan kesalahan.
  • Buka file tata letak tempat widget itu dideklarasikan.
  • Periksa semua sumber daya (drawable, dll.) Yang digunakan dalam file itu.
  • Kemudian, pastikan resource tersebut ada di semua versi drawable (drawable-v21, drawable, dll.)

Bersulang!!

Prashant Paliwal
sumber
5

Saat Parag Naik dengan benar menyebutkan (dan Lạng Hoàng diperluas), masalah muncul saat menyetel textColorPrimary ke sesuatu selain daftar status warna. Jadi, Anda bisa menyetel textColorPrimary sebagai daftar status. Ada masalah di pelacak bug android tentang colorPrimary menjadi daftar negara hanya dengan satu warna: https://code.google.com/p/android/issues/detail?id=172353

Jadi untuk tema Anda di 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>

Dan file primary_color_statelist.xml sebenarnya:

<?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>
Chris
sumber
5

Dalam kasus saya, saya mengalami kesalahan yang sama ketika saya menjalankan aplikasi di perangkat versi API kitkat 19. Saya telah memahami permasalahannya; Saya memiliki beberapa sumber daya yang dapat digambar yang ada di direktori drawable-v21 (Yang digunakan untuk versi dari API 21 Lollipop). Saya hanya meletakkan sumber daya yang sama di folder "Drawable" untuk bekerja dengan versi di bawah API 21. Berhasil. Anda dapat meletakkannya di direktori yang sesuai

Mendongkrak
sumber
4

Bagi saya, saya mengalami kesalahan ini berkali-kali,

Terjadi kesalahan saat mengembangkan kelas android.support.design.widget.NavigationView # 28 dan # 29

Solusi yang berhasil untuk saya adalah Anda harus mencocokkan pustaka desain dukungan dan pustaka dukungan appcompat Anda.

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

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

Bagi saya mereka harus cocok. :) Ini berhasil untuk saya!

RoCk RoCk
sumber
3

Hanya untuk yang masih sampai pada masalah ini. Saya mendapat masalah yang sama tetapi semua solusi di sini tidak berfungsi untuk saya.

Lihat saja kelas NavigationView dengan isyarat dari logcat, saya menemukan masalahnya berasal dari baris kode ini:

itemTextColor = this.createDefaultColorStateList(16842806);

Jadi, ini sepertinya terkait dengan itemTextColor seperti yang disebutkan Aenur56. Jadi saya mencoba dengan solusi Aenur56 tetapi tidak berhasil.

Perhatikan baris kode di atas, saya perhatikan ada ColorStateList. Jadi saya membuatnya lalu setel untuk itemTextColor lalu berfungsi.

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

Semoga membantu!

Lạng Hoàng
sumber
3

Tidak ada solusi di atas yang membantu saya. Saya menemukan ini di beberapa halaman web lain dan berhasil untuk saya - "Dalam project.properties pustaka desain, tetapkan target ke 21 atau tertinggi yang tersedia, lalu bersihkan lib desain, appcomapt, dan proyek Anda dan nikmati"

Semoga bisa membantu!

Michał Stawski
sumber
Di manakah project.properties perpustakaan desain?
8oh8
2

Pastikan drawable Anda untuk menu berada di folder yang benar, milik saya di mana diletakkan di drawablev21 sehingga ini menyebabkan nullpointer ke sumber daya.

Memperbaiki itu membeli memindahkan ikon saya ke folder drawable

Ismael ozil
sumber
1

Saya memiliki masalah yang sama setelah meningkatkan pustaka dukungan dan tidak ada jawaban yang berhasil untuk saya. Akhirnya saya menyelesaikan mengunduh versi terbaru alat pembangunan dan memutakhirkan di build.gradle kebuildToolsVersion "23.0.1"

Erick
sumber
1

Satu hal yang perlu diperiksa ulang adalah Anda telah menerapkan tema Anda dengan benar di file AndroidManifest.xml Anda. Dalam kasus saya, saya telah menghilangkan atribut android: theme . Misalnya:

<application ... android:theme="@style/Your.Theme.Here" ... >
David Conlisk
sumber
1

LEBIH BAIK SAYA MENINGKATKAN com.android.support:appcompat-v7:23.1.0

seperti yang dikatakan @Ton, downgradecompile 'com.android.support:design:23.1.0'

TAPI Mengapa tidak meningkatkan com.android.support:appcompat-v7:23.1.1

Upgrade terakhir bekerja untuk saya nikmati

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

Jadi mengapa menggunakan perpustakaan lama. Saya pikir sekarang lebih baik menggunakan baik desain dan kompak ditingkatkan.

karan
sumber
1
Saya memutakhirkan yang saya, seperti bagaimana @karan menulis, dan itu berhasil untuk saya.
Alexiscanny
1

Saya juga mengalami masalah yang sama, setelah melihat hampir 3 jam saya menemukan bahwa masalahnya ada di file drawable_menu.xml saya, itu salah ditulis: D

Antarix
sumber
1

Kesalahan ini bisa disebabkan karena alasan seperti yang disebutkan di bawah ini.

  1. Masalah ini kemungkinan akan terjadi jika versi pustaka appcompat dan pustaka dukungan desain Anda tidak cocok. Contoh kondisi pencocokan

     compile 'com.android.support:appcompat-v7:24.2.0' // appcompat library
    
     compile 'com.android.support:design:24.2.0' //design support library
    
  2. Jika file tema Anda dalam gaya hanya memiliki dua ini,

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

lalu tambahkan juga ColorAccent. Seharusnya terlihat seperti ini.

 <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>
Vishal Puri
sumber
saya telah mengedit. Artinya tambahkan ColorAccent juga jika tidak ada.
Vishal Puri
1

Cara umum untuk memecahkan masalah seperti Error inflating class X:

  1. periksa penyebab jejak tumpukan dan seharusnya ada Resources$NotFoundExceptionseperti ini:
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 sebenarnya adalah bilangan bulat tepat dari file R.java yang dihasilkan.
  2. Temukan 0x7f0b0066yang akan mengarah ke file xml yang tidak dapat diperbesar (ditemukan).
  3. Dalam kebanyakan kasus, itu karena direktori layouttidak memiliki sumber daya ini, tetapi beberapa layout-XXXmemilikinya.
  4. Dan solusinya adalah menempatkan sumber daya ke semua direktori yang diperlukan. Atau setidaknya menjadi layout.
sebelas
sumber
1

Ini aneh tapi proyek bersih dan proyek pembangunan kembali berhasil untuk saya.

shaby
sumber
1

Dalam kasus saya, saya punya

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

dan dalam konfigurasi aplikasi:

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

Jadi saya mengubah XML menjadi:

com.google.android.material.navigation.NavigationView...
Mihai
sumber
0

Saya menemukan solusi ... jika Anda menggunakan app: srcCompat, ubah ke android: src solusi ini berhasil untuk saya :)

Khun Htetz Naing
sumber
0

Saya menghadapi kesalahan ini di Xamarin. Ini karena beberapa file yang ada di folder drawable-v21 . Jadi saya menyalin file-file itu (mungkin file ikon) ke folder drawable dan kesalahannya hilang.

Juned Khan Momin
sumber