S'il vous plaît laissez-moi savoir où je me trompe pour obtenir l'erreur.
Je crée une application dont l'une de ses activités est d'être uniquement en mode paysage. J'ai donc ajouté ce qui suit dans le fichier AndroidManifest.xml
<activity android:name=".LandScapeImageActivity" android:screenOrientation="landscape"></activity>
J'ai créé un dossier comme
/ res / layout-land
et ajoutez-y une mise en page appelée see_today_landscape_layout.
et dans onCreate()
j'ai ajouté ce qui suit
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.see_today_landscape_layout);
....
}
Mais lorsque j'exécute mon application, j'obtiens l'erreur suivante
02-06 13:46:14.358: E/AndroidRuntime(13286): FATAL EXCEPTION: main
02-06 13:46:14.358: E/AndroidRuntime(13286): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.mid.kew.activities/com.mid.kew.activities.LandScapeImageActivity}: android.content.res.Resources$NotFoundException: Resource ID #0x7f03002b
02-06 13:46:14.358: E/AndroidRuntime(13286): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2787)
02-06 13:46:14.358: E/AndroidRuntime(13286): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2803)
02-06 13:46:14.358: E/AndroidRuntime(13286): at android.app.ActivityThread.handleRelaunchActivity(ActivityThread.java:4066)
02-06 13:46:14.358: E/AndroidRuntime(13286): at android.app.ActivityThread.access$2400(ActivityThread.java:135)
02-06 13:46:14.358: E/AndroidRuntime(13286): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2140)
02-06 13:46:14.358: E/AndroidRuntime(13286): at android.os.Handler.dispatchMessage(Handler.java:99)
02-06 13:46:14.358: E/AndroidRuntime(13286): at android.os.Looper.loop(Looper.java:144)
02-06 13:46:14.358: E/AndroidRuntime(13286): at android.app.ActivityThread.main(ActivityThread.java:4937)
02-06 13:46:14.358: E/AndroidRuntime(13286): at java.lang.reflect.Method.invokeNative(Native Method)
02-06 13:46:14.358: E/AndroidRuntime(13286): at java.lang.reflect.Method.invoke(Method.java:521)
02-06 13:46:14.358: E/AndroidRuntime(13286): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
02-06 13:46:14.358: E/AndroidRuntime(13286): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
02-06 13:46:14.358: E/AndroidRuntime(13286): at dalvik.system.NativeStart.main(Native Method)
02-06 13:46:14.358: E/AndroidRuntime(13286): Caused by: android.content.res.Resources$NotFoundException: Resource ID #0x7f03002b
02-06 13:46:14.358: E/AndroidRuntime(13286): at android.content.res.Resources.getValue(Resources.java:892)
02-06 13:46:14.358: E/AndroidRuntime(13286): at android.content.res.Resources.loadXmlResourceParser(Resources.java:1869)
02-06 13:46:14.358: E/AndroidRuntime(13286): at android.content.res.Resources.getLayout(Resources.java:731)
02-06 13:46:14.358: E/AndroidRuntime(13286): at android.view.LayoutInflater.inflate(LayoutInflater.java:318)
02-06 13:46:14.358: E/AndroidRuntime(13286): at android.view.LayoutInflater.inflate(LayoutInflater.java:276)
02-06 13:46:14.358: E/AndroidRuntime(13286): at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:207)
02-06 13:46:14.358: E/AndroidRuntime(13286): at android.app.Activity.setContentView(Activity.java:1654)
02-06 13:46:14.358: E/AndroidRuntime(13286): at com.mid.kew.activities.LandScapeImageActivity.onCreate(LandScapeImageActivity.java:103)
02-06 13:46:14.358: E/AndroidRuntime(13286): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1069)
02-06 13:46:14.358: E/AndroidRuntime(13286): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2751)
02-06 13:46:14.358: E/AndroidRuntime(13286): ... 12 more
J'ai croisé R.java et il a la ressource avec l'ID 7f03002b que l'exception recherche et elle est présente là-dedans ...
J'ai nettoyé et reconstruit le projet 5 fois, mais le problème persiste.
Le point étrange est que cela fonctionnait hier et que cela ne fonctionne pas aujourd'hui. Le code est le même.
see_today_landscape_layout.xml
fichier.compile 'com.android.support:appcompat-v7:23.4.0'
si je reste avecv7:22.2.0'
cela fonctionneRéponses:
si cela se reproduit, supprimez le fichier r.java. il générera automatiquement.
la source
Pour ma condition, la cause prenait un
int
paramètre pourTextView
. Laissez-moi vous montrer un exempleint i = 5; myTextView.setText(i);
obtient les informations d'erreur ci-dessus.
Cela peut être résolu en convertissant
int
enString
comme çamyTextView.setText(String.valueOf(i));
Lorsque vous écrivez
int
, il attend une ressource et non le texte que vous écrivez. Soyez donc prudentint
lorsque vous définissez un en tant queString
sous Android.la source
Puisque vous définissez explicitement la mise en page, vous voudrez peut-être essayer de la placer dans le dossier default / layout pas dans / layout-land, car c'est si vous voulez qu'Android gère automatiquement la rotation pour vous.
la source
Essayez de déplacer votre mise en page XML à partir
res/layout-land
deres/layout
dossierla source
res/layout-sw600dp
àres/layout
puis ça a fonctionné .. Merci pour vos ans ..Cela peut se produire en raison d'une langue différente du téléphone pour laquelle votre code ne contient pas l'actif. Par exemple, votre préférence.xml est placé dans xml-en et vous essayez d'exécuter votre application sur un téléphone qui a sélectionné le français, l'application se bloquera.
la source
J'ai eu cette erreur pour une autre raison:
J'avais le fichier
res/xml/data.xml
et j'essayais de le charger avec uneResources
classe comme celle-ci:Resources.getSystem().getXml(R.xml.data);
Cependant, cela est incorrect car la méthode
Resources.getSystem()
renvoie un objet Ressources partagées global qui donne accès uniquement aux ressources système.La manière correcte est la suivante (à partir de l'activité interne):
this.getResources().getXml(R.xml.data);
la source
Dans mon cas, ma version Build Tools dans mon build.gradle pour le module d'application était obsolète sur un ancien projet. La mise à jour a résolu le problème:
android { ... buildToolsVersion "19.0.1" ...
Mis à jour avec la dernière version des outils de construction (25.0.1) et synchronisé le projet et tout allait bien à nouveau.
la source
Vérifiez que vos importations sont correctes. J'ai eu un problème similaire qui
R
pointait vers leR
fichier système Android , pas mon fichier local.la source
J'ai supprimé des dossiers
build
dans un projet. Après l'avoir nettoyé et reconstruit dans Android Studio. Ensuite, les erreurs corrigées dans build.gradle et AndroidManifest.la source
Cela peut également causer des problèmes: accidentellement, une de mes mises en page a été garée dans le dossier des ressources de ma tablette, je n'ai donc eu cette erreur qu'avec la mise en page du téléphone. La mise en page du téléphone n'avait tout simplement pas de fichier de mise en page approprié.
J'ai travaillé à nouveau après avoir déplacé le fichier de mise en page dans le dossier standard correct et une reconstruction de projet suivante.
la source
Assurez-vous que le R que vous pointez est le bon. J'ai eu un problème très similaire à celui-ci, où une importation a été insérée par Eclipse qui pointait vers le fichier System R plutôt que vers celui du projet. Il a fallu beaucoup de grattage à la tête. J'espère que cela t'aides.
la source
L'orientation de l'écran est définie sur paysage dans votre xml. Si vous avez utilisé eclipse pour générer ce fichier, il aurait été créé sous res / layout-land / folder.Mais lorsque vous ouvrez l'activité en mode Portrait, l'application recherchera xml dans res / layout-port / folder ou dans le dossier res / layout / . Si vous n'aviez pas xml pour le mode portrait, votre application plantera.
la source
J'ai corrigé le de cette façon:
Créez un dossier dans le nom de votre répertoire de ressources
"drawable-nodpi"
, puis déplacez les vôtres toutes les ressources de ce répertoire à partir d'autres répertoires pouvant être dessinés.Nettoyez maintenant votre projet, puis reconstruisez-le. Exécutez à nouveau j'espère que cela fonctionnera cette fois sans aucune exception de ressource introuvable.
la source
J'ai eu cette erreur lorsque j'essayais d'accéder aux données du Bundle à partir de One Intent en utilisant getInt ("ID").
Je l'ai résolu en utilisant getString ("ID").
De Activity1 j'ai eu
Intent intent=new Intent(this,ActivityB.class); intent.putExtra("data",data)// startActivity(intent);
Sur l'activité B,
Bundle bundle=getIntent().getExtras(); if(extras!=null){ // int x=extras.getInt("Data"); This Line gave me error int x=Integer.parseInt(extras.getString("Data")); // This solved the problem. }
la source
Pour moi, l'invalidation du cache et le redémarrage ne fonctionnaient pas. J'ai supprimé les dossiers .idea et .gradle. Si vous faites cela, n'oubliez pas que des choses comme les journaux de compilation ou quelque chose peuvent disparaître.
la source