Ошибка раздувания класса android.support.design.widget.NavigationView
Я следил за учебником нового компонента NavigationView в библиотеке поддержки дизайна и не могу пройти через это сообщение об ошибке:
Error inflating class android.support.design.widget.NavigationView
Я пробовал каждый обходной путь здесь
Ошибка при использовании любых элементов библиотеки поддержки дизайна Android
но сообщение об ошибке все еще существует.
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'
}
Проект 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>
Любая помощь будет оценена!
Редактировать - добавить меню @/ящик и @меню/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 (только часть из них)
Он исключил три исключения, как показано ниже: все указывает на то, что проблемы вызваны линией "setContentView (layout)" в файле 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
Ответы
Ответ 1
На самом деле дело не в primarycolortext
, но и в обновлении или переопределении зависимостей. Вероятно, эта проблема возникнет, если версия библиотеки библиотеки appcompat
и библиотеки поддержки дизайна не соответствует.
Пример условия соответствия
compile 'com.android.support:appcompat-v7:23.1.1' // appcompat library
compile 'com.android.support:design:23.1.1' //design support library
Ответ 2
У меня была схожая ошибка.
Когда я использую
<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>
работает для меня, когда я удаляю андроид: textColorPrimary и 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>
Попробуйте работать с очень простой темой приложения, чтобы начать с.
EDIT:
Этот учебник поможет.
Я понимаю, что использование "android: textColorPrimary" требует минимального уровня api 21. Использование одного и того же тега без "android:" использует библиотеку поддержки дизайна. Любой виджет библиотеки поддержки попытается найти элемент "textColorPrimary" вместо "android: textColorPrimary", и если он не сможет найти то же самое, он выдает указанную выше ошибку.
Ответ 3
У меня также была ошибка. В моем случае некоторые ресурсы были только в drawable-v21. Скопируйте эти ресурсы и в выпадающую папку. Это решило проблему для меня.
Caused by: android.content.res.Resources$NotFoundException: Resource ID #0x0
Это основная проблема.
Ответ 4
Ну
Поэтому я пытался исправить эту ошибку. И никто не работал у меня. Я не смог найти решение.
Сценарий:
Я просто собирался сделать Navigation Drawer Project
внутри Android Studio 2.1.2
И когда я пытаюсь изменить значок Android по умолчанию в nav_header_main.xml
, я получал некоторые странные ошибки. Я выяснил, что я ввел логотип PNG
в ...\app\src\main\res\drawable-21
. Когда я пытаюсь поместить свой логотип PNG в ...\app\src\main\res\drawable
bam! Все странные ошибки уходят.
Ниже приведены некоторые трассировки стека, когда я помещал PNG в папку drawable-21
:
08-17 17:29:56.237 6644-6678/myAppName E/dalvikvm: Could not find class 'android.util.ArrayMap', referenced from method com.android.tools.fd.runtime.Restarter.getActivities
08-17 17:30:01.674 6644-6644/myAppName E/AndroidRuntime: FATAL EXCEPTION: main
java.lang.RuntimeException: Unable to start activity ComponentInfo{myAppName.MainActivity}: android.view.InflateException: Binary XML file line #16: Error inflating class <unknown>
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2372)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2424)
at android.app.ActivityThread.handleRelaunchActivity(ActivityThread.java:3956)
at android.app.ActivityThread.access$700(ActivityThread.java:169)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1394)
at android.os.Handler.dispatchMessage(Handler.java:107)
at android.os.Looper.loop(Looper.java:194)
at android.app.ActivityThread.main(ActivityThread.java:5433)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:525)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:924)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:691)
at dalvik.system.NativeStart.main(Native Method)
Caused by: android.view.InflateException: Binary XML file line #16: Error inflating class <unknown>
at android.view.LayoutInflater.createView(LayoutInflater.java:613)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:687)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:746)
at android.view.LayoutInflater.inflate(LayoutInflater.java:489)
at android.view.LayoutInflater.inflate(LayoutInflater.java:396)
at android.view.LayoutInflater.inflate(LayoutInflater.java:352)
at android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:280)
at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:140)
at edu.uswat.fwd82.findmedoc.MainActivity.onCreate(MainActivity.java:22)
at android.app.Activity.performCreate(Activity.java:5179)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1146)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2336)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2424)
at android.app.ActivityThread.handleRelaunchActivity(ActivityThread.java:3956)
at android.app.ActivityThread.access$700(ActivityThread.java:169)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1394)
at android.os.Handler.dispatchMessage(Handler.java:107)
at android.os.Looper.loop(Looper.java:194)
at android.app.ActivityThread.main(ActivityThread.java:5433)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:525)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:924)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:691)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.reflect.InvocationTargetException
at java.lang.reflect.Constructor.constructNative(Native Method)
at java.lang.reflect.Constructor.newInstance(Constructor.java:417)
at android.view.LayoutInflater.createView(LayoutInflater.java:587)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:687)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:746)
at android.view.LayoutInflater.inflate(LayoutInflater.java:489)
at android.view.LayoutInflater.inflate(LayoutInflater.java:396)
at android.view.LayoutInflater.inflate(LayoutInflater.java:352)
at android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:280)
at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:140)
at edu.uswat.fwd82.findmedoc.MainActivity.onCreate(MainActivity.java:22)
at android.app.Activity.performCreate(Activity.java:5179)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1146)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2336)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2424)
at android.app.ActivityThread.handleRelaunchActivity(ActivityThread.java:3956)
at android.app.ActivityThread.access$700(ActivityThread.java:169)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1394)
at android.os.Handler.dispatchMessage(Handler.java:107)
at android.os.Looper.loop(Looper.java:194)
at android.app.ActivityThread.main(ActivityThread.java:5433)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:525)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:924)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:691)
at dalvik.system.NativeStart.main(Native Method)
Caused by: android.view.InflateException: Binary XML file line #14: Error inflating class ImageView
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:704)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:746)
at android.view.LayoutInflater.inflate(LayoutInflater.java:489)
at android.view.LayoutInflater.inflate(LayoutInflater.java:396)
at android.support.design.internal.NavigationMenuPresenter.inflateHeaderView(NavigationMenuPresenter.java:189)
at android.support.design.widget.NavigationView.inflateHeaderView(NavigationView.java:262)
at android.support.design.widget.NavigationView.<init>(NavigationView.java:173)
at android.support.design.widget.NavigationView.<init>(NavigationView.java:95)
at java.lang.reflect.Constructor.constructNative(Native Method)
at java.lang.reflect.Constructor.newInstance(Constructor.java:417)
at android.view.LayoutInflater.createView(LayoutInflater.java:587)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:687)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:746)
at android.view.LayoutInflater.inflate(LayoutInflater.java:489)
at android.view.LayoutInflater.inflate(LayoutInflater.java:396)
at android.view.LayoutInflater.inflate(LayoutInflater.java:352)
at android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:280)
at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:140)
at edu.uswat.fwd82.findmedoc.MainActivity.onCreate(MainActivity.java:22)
at android.app.Activity.performCreate(Activity.java:5179)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1146)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2336)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2424)
at android.app.ActivityThread.handleRelaunchActivity(ActivityThread.java:3956)
at android.app.ActivityThread.access$700(ActivityThread.java:169)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1394)
at android.os.Handler.dispatchMessage(Handler.java:107)
at android.os.Looper.loop(Looper.java:194)
at android.app.ActivityThread.main(ActivityThread.java:5433)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:525)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:924)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:691)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.NullPointerException
at android.content.res.ResourcesEx.getThemeDrawable(ResourcesEx.java:459)
at android.content.res.ResourcesEx.loadDrawable(ResourcesEx.java:435)
at android.content.res.TypedArray.getDrawable(TypedArray.java:609)
at android.widget.ImageView.<init>(ImageView.java:120)
at android.support.v7.widget.AppCompatImageView.<init>(AppCompatImageView.java:57)
at android.support.v7.widget.AppCompatImageView.<init>(AppCompatImageView.java:53)
at android.support.v7.app.AppCompatViewInflater.createView(AppCompatViewInflater.java:106)
at android.support.v7.app.AppCompatDelegateImplV7.createView(AppCompatDelegateImplV7.java:980)
at android.support.v7.app.AppCompatDelegateImplV7.onCreateView(AppCompatDelegateImplV7.java:1039)
at android.support.v4.view.LayoutInflaterCompatHC$FactoryWrapperHC.onCreateView(LayoutInflaterCompatHC.java:44)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:
Как вы можете видеть, вышеуказанная трассировка стека включает:
android.support.design.widget.NavigationView.inflateHeaderView(NavigationView.java:262) в android.support.design.widget.NavigationView. (NavigationView.java:173) в android.support.design.widget.NavigationView. (NavigationView.java:95)
Ответ 5
У меня была такая же ошибка, я разрешил ее, добавив app:itemTextColor="@color/a_color"
в мое навигационное представление:
<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"/>
Вы можете использовать android:textColorPrimary
и android:textColorSecondary
в своей теме с помощью этого метода.
Ответ 6
Я решил его понизить в gradle от
compile 'com.android.support:design:23.1.0'
к
compile 'com.android.support:design:23.0.1'
Кажется, что у меня всегда возникают проблемы, когда я обновляю любой компонент Android Studio. Устали от этого.
Ответ 7
Ни одна из вышеперечисленных исправлений не работала для меня.
Что сработало для меня, менялось
<item name="android:textColorSecondary">#FFFFFF</item>
к
<item name="android:textColorSecondary">@color/colorWhite</item>
Вам, очевидно, нужно добавить colorWhite в свой цвет. xml
Ответ 8
Как правильно упоминает Параг Найк (и Lạng Hoàng расширяется), проблема возникает при установке для textColorPrimary значения, отличного от списка состояний цвета. Таким образом, вы можете установить textColorPrimary в качестве списка состояний. В системе отслеживания ошибок Android существует проблема, связанная с тем, что colorPrimary представляет собой список состояний только с одним цветом: https://code.google.com/p/android/issues/detail?id=172353.
Итак, для вашей темы в 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>
И фактический файл primary_color_statelist.xml:
<?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>
Ответ 9
Следующие шаги обязательно устранят эту ошибку.
- Найдите виджет, вызывающий ошибку.
- Перейдите в файл макета, где этот виджет объявлен.
- Проверьте все ресурсы (Drawables и т.д.), Используемые в этом файле.
- Затем убедитесь, что ресурс есть во всех версиях drawables (drawable-v21, drawable и т.д.)
Ура !!
Ответ 10
Для меня я много раз сталкивался с этой ошибкой,
Ошибка раздувания класса android.support.design.widget.NavigationView # 28 и # 29
Решение, которое работает для меня, заключается в том, что вы должны соответствовать библиотеке поддержки поддержки и вашей поддерживающей библиотеке appcompat.
compile 'com.android.support:appcompat-v7:23.1.1'
compile 'com.android.support:design:23.1.1'
Для меня они должны совпадать.:) Это работает для меня!
Ответ 11
Только для тех, кто до сих пор справляется с этой проблемой. Я столкнулся с той же проблемой, но все решения здесь не работают для меня.
Просто возьмите alook в классе NavigationView с помощью cue из logcat, я обнаружил, что проблема возникла из этой строки кода:
itemTextColor = this.createDefaultColorStateList(16842806);
Итак, это похоже на itemTextColor, о котором упоминалось в Aenur56. Поэтому я попытался с решением Aenur56, но он не работает.
Взгляните на строку кода выше, я заметил, что есть ColorStateList. Поэтому я создаю его, затем устанавливаю для itemTextColor, тогда он работает.
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:color="#00FF00" android:state_checked="true" />
<item android:color="#000000" />
</selector>
Надеюсь, что это поможет!
Ответ 12
Ни одно из вышеперечисленных решений не помогло мне. Я нашел это на какой-то другой веб-странице, и это сработало для меня - "В project.properties из библиотеки дизайна установлен целевой 21 или самый высокий доступный, затем чистая библиотека дизайна, appcomapt и ваш проект и наслаждайтесь"
Надеюсь, это поможет!
Ответ 13
В моем случае у меня была такая же ошибка, когда я запускал приложение на устройстве версии 19 KitKat API. Я выяснил проблему; У меня были некоторые ресурсы для рисования, которые были в каталоге drawable-v21 (который используется для версий из API 21 Lollipop). Я просто поместил те же ресурсы в папку "Drawable" для работы с версией API ниже 21. Это работает. Вы можете положить его в соответствующий каталог
Ответ 14
Если вы уже androidx
на androidx
, вам следует изменить макет xml с
<android.support.design.widget.NavigationView ... />
в
<com.google.android.material.navigation.NavigationView ... />
Ответ 15
У меня была такая же проблема после обновления библиотеки поддержки, и ни один из ответов не работал у меня. Наконец, я решил загрузить последнюю версию инструментов сборки и обновить в build.gradle до buildToolsVersion "23.0.1"
Ответ 16
ЛУЧШЕ, Я ОБНОВЛЯЛ com.android.support:appcompat-v7:23.1.0
как @Ton сказал понизить compile 'com.android.support:design:23.1.0'
НО Почему бы не обновить com.android.support:appcompat-v7:23.1.1
Последнее обновление улучшилось для меня, наслаждайтесь
compile 'com.android.support:appcompat-v7:23.1.1'
compile 'com.android.support:design:23.1.1'
Итак, зачем использовать более старую библиотеку. Думаю, теперь лучше использовать дизайн и компактную модернизацию.
Ответ 17
Эта ошибка может быть вызвана по причинам, указанным ниже.
-
Эта проблема, вероятно, возникнет, когда версия вашей библиотеки приложений и библиотеки поддержки дизайна не будет соответствовать.
Пример условия соответствия
compile 'com.android.support:appcompat-v7:24.2.0' // appcompat library
compile 'com.android.support:design:24.2.0' //design support library
-
Если ваш файл темы в стилях имеет только эти два,
<item name="colorPrimary">#4A0958</item>
<item name="colorPrimaryDark">#4A0958</item>
затем добавьте ColorAccent. Это должно выглядеть примерно так.
<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>
Ответ 18
У меня тоже была такая же проблема, посмотрев почти 3 часа, я выяснил, что проблема была в моем файле drawable_menu.xml, это было неправильно написано: D
Ответ 19
Убедитесь, что ваши элементы рисования для меню находятся в правильной папке, моя, где помещена в drawablev21, следовательно, это вызвало нулевой указатель на ресурс.
Исправлена ошибка с перемещением моих значков в папку drawables
Ответ 20
Одна вещь, которую нужно проверить, - это то, что вы правильно применили свою тему в файле AndroidManifest.xml. В моем случае я опустил атрибут android: theme. Например:
<application ... android:theme="@style/Your.Theme.Here" ... >
Ответ 21
Общий способ решения проблем, таких как Error inflating class X
:
- проверьте трассировку стека причин и должно быть
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)
-
Resource ID
самом деле является точным целым числом из сгенерированного файла R.java. - Найдите
0x7f0b0066
который будет указывать на XML файл, который не может быть раздут (найден). - В большинстве случаев это связано с тем, что в
layout
каталога нет этого ресурса, но в некоторых layout-XXX
. - И решение состоит в том, чтобы поместить ресурс во все необходимые каталоги. Или, по крайней мере, в
layout
.
Ответ 22
Я нашел решение... если вы использовали app: srcCompat, измените на android: src это решение сработало для меня :)
Ответ 23
Это странный, но чистый проект, и проект перестройки работал для меня.