- Error inflating class android.support.design.widget.NavigationView
- build.gradle
- Project build.gradle
- styles.xml
- Edit — add @menu/drawer & @menu/drawer_header & stacktrace
- drawer.xml
- drawer_header.xml
- StackTrace (only part of them)
- 25 Answers 25
- Ошибка при запуске приложения на AndroidStudio?
- Class Not Found Android Support Design Widget NavigationView
- 3 Answers 3
- Ошибка надувания класса android.support.design.widget.NavigationView
- Build.gradle
- Проект build.gradle
- Styles.xml
- Изменить — добавить @ menu / drawer & @ menu / drawer_header & stacktrace
- Drawer.xml
- Drawer_header.xml
- StackTrace (только часть из них)
- 25 ответов
Error inflating class android.support.design.widget.NavigationView
I followed a tutorial of new component NavigationView in Support Design Library and can’t get through this error message :
I tried every workaround here
but error message still exists.
build.gradle
Project build.gradle
styles.xml
Any help would be appreciated!
Edit — add @menu/drawer & @menu/drawer_header & stacktrace
drawer.xml
drawer_header.xml
StackTrace (only part of them)
It thrown out three exceptions as below : all points out that the problems is caused by the line of «setContentView(layout)» at in layout.xml.
25 Answers 25
Actually it is not the matter of the primarycolortext , upgrading or downgrading the dependencies.This problem will likely occur when the version of your appcompat library and design support library doesn’t match.
Example of matching condition
I had similar error. When i use
works for me when i remove the android:textColorPrimary and android:textColorSecondary theme items.
Try working with a very simple App theme to start off with.
This tutorial will help. My understanding is that using «android:textColorPrimary» requires minimum api level 21. Using the same tag without «android:» uses the design support library. Any support library widget will try to find the «textColorPrimary» item instead of «android:textColorPrimary» and if it fails to find the same it throws the above mentioned error.
I also had same error. In my case some of the resources were in drawable-v21 only. Copy those resources to drawable folder also. This solved the issue for me.
This is the main problem.
If you have already migrated to androidx , you should change your layout xml from
I had the same error, I resolved it by adding app:itemTextColor=»@color/a_color» to my navigation view :
You can still use android:textColorPrimary and android:textColorSecondary in your theme with this method.
Well So I was trying to fix this error. And none worked for me. I was not able to figure out solution. Scenario:
I was just going to made a Navigation Drawer Project inside Android Studio 2.1.2 And when I try to change the default Android icon in nav_header_main.xml I was getting some weird errors. I figured out that I was droping my PNG logo into the . \app\src\main\res\drawable-21 . When I try to put my PNG logo in . \app\src\main\res\drawable bam! All weird errors go away.
Following are some of stack trace when I was putting PNG into drawable-21 folder:
As you can see the above Stack Trace include:
Источник
Ошибка при запуске приложения на AndroidStudio?
Добрый день! При запуске приложения вылетает такая вот ошибка:
Caused by: android.view.InflateException: Binary XML file line #8: Binary XML file line #8: Error inflating class com.google.android.material.navigation.NavigationView
Caused by: android.view.InflateException: Binary XML file line #8: Error inflating class com.google.android.material.navigation.NavigationView
Caused by: java.lang.reflect.InvocationTargetException
и приложение закрывается. Подскажите как исправить.
- Вопрос задан более года назад
- 236 просмотров
Простой 1 комментарий
Из описания следует, что нужно исправить ошибку в XML разметке в строке 8.
Я только начинаю, может подскажите подробнее? Чего не хватает?
dependencies <
implementation ‘com.mxn.soul:flowingdrawer-core:2.1.0’
implementation ‘com.nineoldandroids:library:2.4.0’
implementation fileTree(dir: «libs», include: [«*.jar»])
implementation ‘androidx.appcompat:appcompat:1.1.0’
implementation ‘androidx.constraintlayout:constraintlayout:1.1.3’
implementation ‘androidx.coordinatorlayout:coordinatorlayout:1.1.0’
implementation ‘com.google.android.material:material:1.1.0’
testImplementation ‘junit:junit:4.12’
androidTestImplementation ‘androidx.test.ext:junit:1.1.1’
androidTestImplementation ‘androidx.test.espresso:espresso-core:3.2.0’
Как искать ответ самому.
Видим ругается на Error inflating class com.google.android.material.navigation.NavigationView
гуглим com.google.android.material.navigation.navigationview implementation
нагугливается, что это com.shreyaspatil
Удивляемся. Пока гуглили заметили, что в пустом проекте можно попробывать сделать через визард активностей.
Пробуем. И видим.
implementation ‘androidx.navigation:navigation-fragment:2.3.0’
implementation ‘androidx.navigation:navigation-ui:2.3.0’
ок. открываем лайоут .
становимся на com.google.android.material.navigation.NavigationView
нажимаем аккорд Ctrl+B — мой любимый — перейти туда где это было определено.
попадаем в класс
мотаем вверх смотрим
package com.google.android.material.navigation;
подымем взгляд еще выше на заголовок окна и видим
com.google.android.material:material:1.1.0@aar
Мое первое предположение оказалось ложным.
Возвращаемся на лайоут.
Редим предпросмотра. Серыми квадратами рисуется, то что не смогла система правильно распознать.
Забыли подключить или написали неправильно.
Режим текстового просмотра. Что нибудь подчеркивается. Значки предупреждения в виде дерева
Источник
Class Not Found Android Support Design Widget NavigationView
Good day, can you help me out. I got this error when compiling/running my code on an emulator. This is the sample tutorial I used to make. I used min Target API — 15 and compile the latest gradle ‘com.android.support:design:23.0.0’
AndroidRuntime: java.lang.RuntimeException: Unable to start activity ComponentInfo
E/AndroidRuntime: Caused by: android.view.InflateException: Binary XML file line #29: Binary XML file line #29: Error inflating class android.support.design.widget.NavigationView
Here are my codes: MainActivity.java
3 Answers 3
Follow this steps:
- Right Click on your Project->Open Module Settings .
- Then open Dependencies Tab.
- Click on + symbol then select Library Dependency.You will get an popup called Choose Library Dependency.
- There Enter «com.android.support». Then click on search icon.
- Now select the design library. and Click on OK.
Thank you for your concerns, I appreciate it. I found the answer for (my) this question at last.
Error inflating class android.support.design.widget.NavigationView #28 or #29
The solution that works for me, is that you must match your support design library and your support AppCompat Library . In the gradle module,
change the gradle version (Your desired library no. ) You can also find the latest gradle build in the link that I have given, but I suggest you check in your gradle module (The 2nd Picture, since they are first in updating the gradle build. Then in my gradle module — compile: . has been highlighted , meaning there is a newer version, just change the no. e.g 24.0.0 compile if it is stable, not preview), in a mean time, mine is 23.1.1 .
🙂 It works for me!
Observation (For me, As I changed/solved this error, the value 23.x.x ): if your support-design doesn’t match with AppCompat-lib produces #28 and if your AppCompat doesn’t match the support-design produces #29. Just try, maybe I interchange the #.
Источник
Ошибка надувания класса android.support.design.widget.NavigationView
Я выполнил руководство по новому компоненту NavigationView в библиотеке поддержки дизайна и могу ‘ t получить через это сообщение об ошибке:
Я пробовал все обходные пути здесь
Но сообщение об ошибке все еще существует.
Build.gradle
Проект build.gradle
Styles.xml
Любая помощь была бы признательна!
Изменить — добавить @ menu / drawer & @ menu / drawer_header & stacktrace
Drawer.xml
Drawer_header.xml
StackTrace (только часть из них)
Он выдал три исключения, как показано ниже: все указывает, что проблемы вызваны строкой «setContentView (layout)» в layout.xml.
25 ответов
На самом деле это не вопрос primarycolortext , обновления или понижения зависимостей. Эта проблема, скорее всего, возникнет, когда версия вашей библиотеки appcompat и библиотеки поддержки дизайна не совпадают.
Пример условия соответствия
Это странно, но чистый проект и проект восстановления сработали для меня.
Общий способ решения таких проблем, как Error inflating class X :
- проверьте причину трассировки стека, и там должно быть Resources$NotFoundException примерно так:
- Resource ID — это точное целое число из сгенерированного файла R.java.
- Найдите 0x7f0b0066 , который будет указывать на файл xml, который не может быть расширен (найден).
- В большинстве случаев это связано с тем, что в каталоге layout нет этого ресурса, а в некоторых layout-XXX есть.
- И решение — поместить ресурс во все необходимые каталоги. Или хотя бы в layout .
Эта ошибка может быть вызвана причинами, указанными ниже.
Эта проблема, скорее всего, возникнет, если версия вашей библиотеки appcompat и библиотеки поддержки дизайна не совпадают. Пример условия соответствия
Если в вашем файле темы в стилях есть только эти два,
Затем добавьте ColorAccent тоже. Это должно выглядеть примерно так.
У меня тоже была такая же проблема, после почти 3 часов просмотра я обнаружил, что проблема была в моем файле drawable_menu.xml, он был неправильно написан: D
ЛУЧШЕ Я ОБНОВЛЕН 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
Последнее обновление мне понравилось
Так зачем использовать старую библиотеку. Думаю, сейчас лучше использовать как дизайн, так и компактный модернизированный.
Следует дважды проверить, правильно ли вы применили свою тему в файле AndroidManifest.xml. В моем случае я пропустил атрибут android: theme . Например:
У меня была такая же проблема после обновления библиотеки поддержки, и ни один из ответов не помог мне. Наконец, я решил загрузить последнюю версию инструментов сборки и обновить build.gradle до buildToolsVersion «23.0.1»
Убедитесь, что ваши чертежи для меню находятся в правильной папке, моя, где помещена в drawable v21, поэтому это вызвало нулевой указатель на ресурс.
Исправлено перемещение моих значков в папку с чертежами
Ни одно из вышеперечисленных решений мне не помогло. Я нашел это на какой-то другой веб-странице, и это сработало для меня — «В project.properties библиотеки дизайна установите цель на 21 или самый высокий доступный, затем очистите библиотеку дизайна, appcomapt и свой проект и наслаждайтесь»
Надеюсь, это поможет!
Просто для тех, кто до сих пор занимается этим вопросом. Я столкнулся с той же проблемой, но все решения здесь мне не подходят.
Просто взгляните на класс NavigationView с помощью команды logcat, я обнаружил, что проблема возникает из этой строки кода:
Итак, похоже, это связано с itemTextColor, как упоминал Aenur56. Итак, я попытался использовать решение Aenur56, но оно не работает.
Взгляните на строку кода выше, я заметил, что есть ColorStateList. Итак, я создаю один, затем устанавливаю для itemTextColor, и он работает.
Надеюсь, это поможет!
Для меня я сталкивался с этой ошибкой много раз,
Ошибка наполнения класса android.support.design.widget.NavigationView № 28 и № 29
Решение, которое работает для меня, заключается в том, что вы должны соответствовать своей библиотеке дизайна поддержки и библиотеке поддержки appcompat.
Для меня они должны совпадать. 🙂 Меня устраивает!
В моем случае такая же ошибка возникла при запуске приложения на устройстве версии 19 Kitkat API. Я понял проблему; У меня были ресурсы с возможностью рисования, которые находились в каталоге drawable-v21 (который используется для версий из API 21 Lollipop). Я просто поместил те же ресурсы в папку «Drawable» для работы с версией ниже API 21. Это работает. Вы можете поместить его в соответствующий каталог
Как правильно упоминает Параг Наик (и Лонг Хоанг расширяет его), проблема возникает при установке textColorPrimary на что-то иное, чем список состояний цвета. Таким образом, вы можете установить textColorPrimary как список состояний. В трекере ошибок Android есть проблема, связанная с тем, что colorPrimary является списком состояний только с одним цветом: https://code.google.com/p/android/issues/detail?id=172353
Итак, для вашей темы в styles.xml:
И собственно файл primary_color_statelist.xml:
Выполнение следующих действий обязательно устранит эту ошибку.
- Найдите виджет, вызывающий ошибку.
- Перейдите в файл макета, в котором объявлен этот виджет.
- Проверьте все ресурсы (чертежи и т. Д.), Используемые в этом файле.
- Затем убедитесь, что ресурс присутствует во всех версиях чертежей (drawable-v21, drawable и т. Д.)
Ни одно из перечисленных выше исправлений не помогло мне.
То, что работало для меня, менялось
Очевидно, вам нужно добавить colorWhite в свой файл colors.xml.
Я решил, что это понижение в Gradle с
Похоже, у меня всегда возникают проблемы при обновлении любого компонента Android Studio. Устал от этого.
Хорошо Итак, я пытался исправить эту ошибку. И ни один из них не работал у меня. Я не мог найти решения. Сценарий:
Я как раз собирался сделать 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 бац! Все странные ошибки исчезнут.
Ниже приведены некоторые трассировки стека, когда я помещал PNG в папку drawable-21 :
Как вы можете видеть, приведенная выше трассировка стека включает:
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)
У меня была та же ошибка, я решил ее, добавив app:itemTextColor=»@color/a_color» в свой вид навигации:
Вы все еще можете использовать android:textColorPrimary и android:textColorSecondary в своей теме с помощью этого метода.
Если вы уже перешли на androidx , вам следует изменить макет xml от
У меня тоже была такая же ошибка. В моем случае некоторые ресурсы были только в drawable-v21. Также скопируйте эти ресурсы в папку с возможностью переноса. Это решило проблему для меня.
Это основная проблема.
У меня была аналогичная ошибка. Когда я использую
Работает для меня, когда я удаляю элементы темы android: textColorPrimary и android: textColorSecondary.
Попробуйте для начала поработать с очень простой темой приложения.
Это руководство поможет. Насколько я понимаю, использование android: textColorPrimary требует минимального уровня API 21. Использование того же тега без android: использует библиотеку поддержки дизайна. Любой виджет библиотеки поддержки попытается найти элемент «textColorPrimary» вместо «android: textColorPrimary», и если он не сможет найти то же самое, он выдает вышеупомянутую ошибку.
Я столкнулся с этой ошибкой в Xamarin. Это произошло из-за того, что некоторые файлы находились в папке drawable-v21 . Поэтому я скопировал эти файлы (возможно, файлы значков) в папку drawable , и ошибка исчезла.
Я нашел решение . если вы использовали app: srcCompat, измените на android: src, это решение сработало для меня 🙂
Источник