Подтвердить что ты не робот

Ресурсы Android $NotFoundException: Идентификатор ресурса # 0x7f030027

Я работал над своей программой для Android и, когда я пытался ее протестировать, я вдруг начал получать сообщение об ошибке "android.content.res.Resources $NotFoundException: Идентификатор ресурса # 0x7f030027" Последнее крупное изменение, которое я сделал, заключалось в добавлении в панель действий через библиотеку поддержки, но я уже получил эту работу. Кроме того, я добавил один новый класс, но даже если я удалю класс и связанные с ним файлы, ошибка все же появляется. Я пробовал очистить проект и перезапустить Eclipse несколько раз безрезультатно.

Здесь трассировка стека в случае, если что-то потеряно в переводе:

01-21 19:05:53.125: E/AndroidRuntime(18599): FATAL EXCEPTION: main
01-21 19:05:53.125: E/AndroidRuntime(18599): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.blackhat.htmlparsingtest/com.blackhat.htmlparsingtest.MainActivity}: android.content.res.Resources$NotFoundException: Resource ID #0x7f030027
01-21 19:05:53.125: E/AndroidRuntime(18599):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2110)
01-21 19:05:53.125: E/AndroidRuntime(18599):    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2135)
01-21 19:05:53.125: E/AndroidRuntime(18599):    at android.app.ActivityThread.access$700(ActivityThread.java:143)
01-21 19:05:53.125: E/AndroidRuntime(18599):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1241)
01-21 19:05:53.125: E/AndroidRuntime(18599):    at android.os.Handler.dispatchMessage(Handler.java:99)
01-21 19:05:53.125: E/AndroidRuntime(18599):    at android.os.Looper.loop(Looper.java:137)
01-21 19:05:53.125: E/AndroidRuntime(18599):    at android.app.ActivityThread.main(ActivityThread.java:4950)
01-21 19:05:53.125: E/AndroidRuntime(18599):    at java.lang.reflect.Method.invokeNative(Native Method)
01-21 19:05:53.125: E/AndroidRuntime(18599):    at java.lang.reflect.Method.invoke(Method.java:511)
01-21 19:05:53.125: E/AndroidRuntime(18599):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1004)
01-21 19:05:53.125: E/AndroidRuntime(18599):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:771)
01-21 19:05:53.125: E/AndroidRuntime(18599):    at dalvik.system.NativeStart.main(Native Method)
01-21 19:05:53.125: E/AndroidRuntime(18599): Caused by: android.content.res.Resources$NotFoundException: Resource ID #0x7f030027
01-21 19:05:53.125: E/AndroidRuntime(18599):    at android.content.res.Resources.getValue(Resources.java:1026)
01-21 19:05:53.125: E/AndroidRuntime(18599):    at android.content.res.Resources.loadXmlResourceParser(Resources.java:2131)
01-21 19:05:53.125: E/AndroidRuntime(18599):    at android.content.res.Resources.getLayout(Resources.java:865)
01-21 19:05:53.125: E/AndroidRuntime(18599):    at android.view.LayoutInflater.inflate(LayoutInflater.java:394)
01-21 19:05:53.125: E/AndroidRuntime(18599):    at android.view.LayoutInflater.inflate(LayoutInflater.java:352)
01-21 19:05:53.125: E/AndroidRuntime(18599):    at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:309)
01-21 19:05:53.125: E/AndroidRuntime(18599):    at android.app.Activity.setContentView(Activity.java:1914)
01-21 19:05:53.125: E/AndroidRuntime(18599):    at android.support.v7.app.ActionBarActivity.superSetContentView(ActionBarActivity.java:216)
01-21 19:05:53.125: E/AndroidRuntime(18599):    at android.support.v7.app.ActionBarActivityDelegateICS.setContentView(ActionBarActivityDelegateICS.java:111)
01-21 19:05:53.125: E/AndroidRuntime(18599):    at android.support.v7.app.ActionBarActivity.setContentView(ActionBarActivity.java:76)
01-21 19:05:53.125: E/AndroidRuntime(18599):    at com.blackhat.htmlparsingtest.MainActivity.onCreate(MainActivity.java:39)
01-21 19:05:53.125: E/AndroidRuntime(18599):    at android.app.Activity.performCreate(Activity.java:5179)
01-21 19:05:53.125: E/AndroidRuntime(18599):    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1094)
01-21 19:05:53.125: E/AndroidRuntime(18599):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2074)
01-21 19:05:53.125: E/AndroidRuntime(18599):    ... 11 more

Также я проверил файл R.java, и ресурс определенно существует, хотя, как я упоминал, очистка проекта, удаление R файла и перезапуск Eclipse ничего не делает. Одна вещь, которую я чувствовал, следует отметить, однако, что я нашел два файла R.java, один из которых находится в папке проекта вместе с BuildConfig.Java. Другой - в android.support.v7.appcompat. Я знаю, что appcompat может вызвать некоторые проблемы, поэтому я подумал, что это стоит упомянуть на всякий случай.

Я даже не могу заставить мой код работать так, как он привык, поэтому любая помощь будет оценена и дайте мне знать, нужна ли вам какая-либо другая информация!

4b9b3361

Ответ 1

Вы можете проверить свой R файл для Resources$NotFoundException: Resource ID #0x7f030027. Он скажет вам, какой ресурс создавал проблему. В качестве альтернативного решения я думаю, что у вас может быть setText или любой контент, просто int. И, как вы знаете здесь, компилятор будет искать соответствующее значение ресурса. Итак, просто добавьте туда пустую строку как ""

Ответ 2

Я получаю это исключение:

android.content.res.Resources $NotFoundException: Идентификатор ресурса # 0x7f02004f

Я звонил PNG Icon из ...\приложение\SRC\главная\Рез\вытяжке-21

Когда я помещаю свой PNG Icon в ...\app\src\main\res\drawable, и я называю это,
Моя проблема уходит

BTW XML работал от \drawable-21

Ответ 3

Была такая же проблема тоже.

Но оказалось, как я двигался вещи вокруг в моем IDE я неправильно переместил ресурс макета (XML) из каталога макета в макете-землю.

Это сработало после того, как я вернул его обратно.

Надеюсь, это кому-нибудь поможет.

Ответ 4

Для меня, создав файл макета, он приземлился в папке layout-land, следовательно, это исключение. Надеюсь, это поможет кому-то.

Ответ 5

В моем случае возникла ошибка после обновления до Android Studio build: 3.0 Canary 6, я исправил ее при переходе на предыдущую версию 3.0 Canary-5 и инструменты сборки canary-5.

Проблема связана с некоторой несовместимостью с векторными чертежами на api 19 и ниже

EDIT: Похоже, что упомянутая проблема была решена на Android Studio build: 3.0 Canary 7

Ответ 6

Я пытался переместить файлы изображений (png, jpg) из drawable-v24 в drawable

Это решило проблему

Ответ 7

a) может возникнуть ошибка в любом из ваших xml файлов ресурсов (строки, макеты, анимация и т.д.), а ваш .package.name.R не может скомпилировать с этой ошибкой

Пример:

<string name="main_header">My problem wasn't in java it was in this string</string>

Ошибка: apostrophe ' должна выполняться обратная косая черта \

Исправление:

<string name="main_header">My problem wasn\'t in java it was in this string</string>

или,

b) Вы ввели неправильный "R" в свой класс. убедитесь, что вы импортируете your.package.name.R, а не android.R

Пример:

//You DO NOT want this, unless you are working directly with android 
  resources, not your own in your project
import android.R

Исправление:

// You want to reference your project resources, not Android OS's
import your_package_name_here.R

Надеюсь, это поможет, Happy Coding!

Ответ 8

Я получал эту ошибку на Android 4.2.2, но не на Android 5 и Android 6. Причина была в том, что я положил несколько векторных значков (xml файлы для переносного ящика) в папку drawable-v21, потому что по умолчанию иконки ящика навигации, созданные по умолчанию для Android, например, ic_menu_gallery.xml находились в папке drawable-v21. Перемещение этих xml файлов (которые я сгенерировал, а не по умолчанию) в папку с возможностью выбора, решило мою проблему. Не перемещайте созданные по умолчанию значки с возможностью рисования, иначе он может вызвать дублирующее исключение.

Ответ 9

Я только что столкнулся с одной и той же проблемой - очистка и восстановление проекта решила проблему для меня!

Ответ 11

Если вы используете векторный drawable в resource.xml, который имеет <layer-list> в API версии 19 или ниже, вы получите это исключение

Ответ 12

В моем случае я использовал собственный стиль для своей вертикальной полосы прокрутки в прокрутке, например:

 <ScrollView
        android:id="@+id/scroller"
        style="@style/scrollbar_shape_style"
  ..>

и мой стиль был таким:

 <style name="scrollbar_shape_style">
  ...

Я изменил первую часть на это:

<ScrollView
    android:id="@+id/scroller"
    android:theme="@style/scrollbar_shape_style"

и добавили родительский стиль в стиль следующим образом:

<style name="scrollbar_shape_style" parent="LightTheme">

и проблема решена.

Ответ 13

Вы можете вызывать строку из ресурсов проекта с помощью

Resources().getSystem().getString( R.string.my_string_id)

который относится к глобальным ресурсам. Чтобы ссылаться на ваши ресурсы проекта, выполните getString() непосредственно из вашей активности:

this.getString(
  R.string.my_string_id); // From within your activity class.

myActivity.getString(
  R.string.my_string_id); // From other classes as instance reference.

Ответ 14

Первый шаг: ctrl + maj + f: ищите код проблемы здесь = #0x7f030027

2-й шаг Прочитайте имя значения, найдите, где оно используется.

3-й шаг Если это PNG, возможно, вы не указали все его размеры. /Users/churlet/Desktop/Capture décran 2018-08-06 à 10.31.06.png

Ответ 15

drawable folder image

замените значок изображения с drawable-v24 на drawable, что решило мою проблему

Ответ 16

Я столкнулся с проблемой ResourceException при первом использовании виджета BottomNavigationDrawer. Тир, чтобы добавить все ресурсы для всех возможных измерений, в конце концов, я избавился от проблемы, удалив все папки drawable-v21 и drawable-v24, просто оставив обычные папки для рисования.

Ответ 17

Столкнулся с этой проблемой, используя пользовательскую библиотеку пользовательского интерфейса, поэтому app: srcCompt был недоступен. Я использовал последнюю сборку Gradle (v3.4.1) и после перехода на v3.2.1 проблема была исправлена.

Ответ 18

Вероятно, вы разрабатываете новую версию Android с вашего текущего устройства. Попробуйте загрузить SDK, соответствующий вашему тестирующему устройству.

Ответ 19

Вы можете использовать одну и ту же фотографию ресурса дважды.
это случилось со мной, когда использовал фото дважды:
первый раз на главном экране, затем использовал ту же фотографию в другой деятельности.