Ressources Android $ NotFoundException: ID de ressource # 0x7f030027
Je travaillais sur mon programme Android et lorsque j’essayais de le tester, j’ai soudainement commencé à avoir une erreur intitulée "Android.content.res.Resources $ NotFoundException: ID de ressource n ° 0x7f030027". la bibliothèque de support, mais cela fonctionne déjà très bien. En plus de cela, j'ai ajouté une nouvelle classe mais même si je supprime la classe et ses fichiers associés, l'erreur persiste. J'ai essayé de nettoyer le projet et de redémarrer Eclipse plusieurs fois sans succès.
Voici la trace de la pile au cas où quelque chose serait perdu dans la traduction:
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
De plus, j'ai vérifié le fichier R.Java et la ressource existe bel et bien, bien que, comme je l'ai mentionné, nettoyer le projet, supprimer le fichier R et redémarrer Eclipse ne fait rien. Une chose qui, à mon sens, mérite d’être mentionnée est que j’ai trouvé deux fichiers R.Java, l’un se trouvant dans mon dossier de projet avec BuildConfig.Java. L'autre est dans Android.support.v7.appcompat. Je sais que appcompat peut causer des problèmes, j'ai donc pensé qu'il valait la peine de le mentionner au cas où.
Je n'arrive même pas à faire fonctionner mon code comme avant, alors toute aide serait la bienvenue et laissez-moi savoir si vous avez besoin d'autres informations!
Vous pouvez vérifier votre fichier R pour Resources$NotFoundException: Resource ID #0x7f030027
. Cela vous indiquera quelle ressource créait un problème. En tant que solution alternative, je pense que vous pourriez avoir setText
ou tout contenu juste une int
. Et comme vous le savez ici, le compilateur cherchera la valeur de ressource correspondante. Donc, concattez simplement une chaîne vide en tant que ""
Je recevais cette exception:
Android.content.res.Resources $ NotFoundException: ID de ressource # 0x7f02004f
J'appelais PNG Icon
depuis ...\app\src\main\res\drawable-21
Quand je mets mon PNG Icon
dans ...\app\src\main\res\drawable et je l'appelle,
Mon problème s'en va
BTW XML
travaillé à partir de \drawable-21
Avait ce même problème aussi.
Mais il s'est avéré que je déplaçais des éléments dans mon IDE, j'ai déplacé à tort une ressource de présentation (xml) du répertoire layout vers le répertoire layout-land .
Cela a fonctionné après que je l'ai reculé.
J'espère que ça aide quelqu'un.
Dans mon cas, une erreur est survenue après la mise à jour vers Android Studio Build: 3.0 Canary 6, je l’ai corrigée en rétrogradant à la version précédente 3.0 Canary-5 et aux outils de construction canary-5.
Le problème était lié à une certaine incompatibilité avec les vecteurs extractibles sur les api 19 et inférieurs.
EDIT: On dirait que le problème mentionné a été résolu leAndroid Studio build: 3.0 Canary 7
Pour moi, lors de la création du fichier de présentation, il s'est retrouvé dans le dossier layout-land
, d'où l'exception. J'espère que ça va aider quelqu'un.
a) il pourrait y avoir une erreur dans l'un de vos fichiers XML de ressources (chaînes, mises en page, anim, etc.) et votre.package.name.R ne peut pas compiler avec cette erreur
EX:
<string name="main_header">My problem wasn't in Java it was in this string</string>
Erreur: apostrophe'
doit être précédé d'une barre oblique inversée \
Correction:
<string name="main_header">My problem wasn\'t in Java it was in this string</string>
ou,
b) Vous avez importé le mauvais "R" dans votre classe. assurez-vous d'importer your.package.name.R
et non Android.R
EX:
//You DO NOT want this, unless you are working directly with Android's
resources, not your own in your project
import Android.R
Correction:
// You want to reference your project's resources, not Android OS's
import your_package_name_here.R
J'espère que cela aide, Happy Coding!
Je viens de rencontrer le même problème - nettoyer et reconstruire le projet a résolu le problème pour moi!
Je recevais cette erreur sur Android 4.2.2 mais pas sur Android 5 et Android 6 . La raison en était que j'avais mis des icônes vectorielles (fichiers xml pour le tiroir de navigation) dans le dossier drawable-v21 car par défaut, le tiroir de navigation généré par Android icônes par exemple ic_menu_gallery.xml résidaient dans le dossier drawable-v21. Déplacer ces fichiers XML (que j’ai générés et non ceux par défaut) dans un dossier dessinable a résolu mon problème. Ne déplacez pas les icônes générées par défaut pour qu'elles puissent être dessinées, sinon cela pourrait causer une exception en double.
J'ai essayé de déplacer des fichiers image (png, jpg) de drawable-v24 vers drawable
Il a résolu le problème
Regardez ce lien, peut-être que ça vous aidera, c'est le même problème. Si le nettoyage du projet ne vous aide pas à supprimer votre fichier r.Java, il sera généré lui-même Obtention de Android.content.res.Resources $ NotFoundException: exception même si la ressource est présente dans Android
Dans mon cas, j'utilisais un style personnalisé pour ma barre de défilement verticale en mode défilement, comme suit:
<ScrollView
Android:id="@+id/scroller"
style="@style/scrollbar_shape_style"
..>
et mon style était comme:
<style name="scrollbar_shape_style">
...
J'ai changé la première partie en ceci:
<ScrollView
Android:id="@+id/scroller"
Android:theme="@style/scrollbar_shape_style"
et ajouté parent au style comme ceci:
<style name="scrollbar_shape_style" parent="LightTheme">
et problème résolu.
Si vous utilisez un vecteur dessinable dans le fichier resource.xml comportant un <layer-list>
sur l'API version 19 ou inférieure, vous obtiendrez cette exception
Vous pourriez appeler une chaîne à partir de ressources de projet avec
Resources().getSystem().getString(
R.string.my_string_id)
qui fait référence aux ressources globales. Pour faire référence aux ressources de votre projet, getString () directement à partir de votre activité:
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.
J'ai rencontré le problème ResourceException lors de ma première utilisation du widget BottomNavigationDrawer. Pour ajouter tous les ressources pour toutes les dimensions possibles, je me suis débarrassé du problème en supprimant tous les dossiers drawable-v21 et drawable-v24, tout en laissant les dossiers classiques.