Reputation: 3133
Please let me know where I am going wrong to get the error.
I am creating an app which have one of its activity to be only in landscape mode. So I added the following in AndroidManifest.xml file
<activity android:name=".LandScapeImageActivity" android:screenOrientation="landscape"></activity>
I have created a folder like
/res/layout-land
and add a layout called see_today_landscape_layout in it.
and in onCreate()
I added the following
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.see_today_landscape_layout);
....
}
But when I run my app I am getting the following error
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
I crossed checked in R.java and it has the resource with the ID 7f03002b which the exception is looking for and it is present in there...
I cleaned and rebuild the project for say 5 times, but still the issue occurs.
Strange point is that this was working yesterday and it's not working today. The code is the same.
Upvotes: 111
Views: 191123
Reputation: 234
I just get this error on Android 6. I moved all drawables from drawable-v24 to drawable folder and the error is finally gone.
Upvotes: 5
Reputation: 281
For me cache invalidation and restart didn't work. I removed the .idea and .gradle folders. If you do that, don't forget that things like build logs or something might go away though.
Upvotes: 0
Reputation: 4307
Since you are setting the layout explicitly you might want to try and put it in the default /layout folder not in the /layout-land since that is if you want Android to automatically handle rotation for you.
Upvotes: 14
Reputation: 21
Check to make sure that your imports are correct. I had a similar problem where R
was pointing to the Android system R
file, not my local one.
Upvotes: 2
Reputation: 4102
For my condition the cause was taking int
parameter for TextView
. Let me show an example
int i = 5;
myTextView.setText(i);
gets the error info above.
This can be fixed by converting int
to String
like this
myTextView.setText(String.valueOf(i));
As you write int
, it expects a resource not the text that you are writing. So be careful on setting an int
as a String
in Android.
Upvotes: 239
Reputation: 469
Try moving your layout xml from res/layout-land
to res/layout
folder
Upvotes: 12
Reputation: 21
I got this error when I was trying to access Bundle data from One Intent by using getInt("ID").
I solved it by using getString("ID").
From Activity1 i had
Intent intent=new Intent(this,ActivityB.class);
intent.putExtra("data",data)//
startActivity(intent);
On Activity 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.
}
Upvotes: 0
Reputation: 19280
I have fixed the by this way:
Create a folder in your resource directory name "drawable-nodpi"
and then move yours all resources in this directory from others drawable directory.
Now clean your project and then rebuilt. Run again hopefully it will work this time without any resource not found exception.
Upvotes: 0
Reputation: 7685
In my case my Build Tools version in my build.gradle for the app module was outdated on an old project. Updating it fixed the issue:
android {
...
buildToolsVersion "19.0.1"
...
Updated to the latest build tools version (25.0.1) and sync'd the project and all was well again.
Upvotes: 2
Reputation: 11
This can also cause some trouble: Accidentally one of my layouts was parked in my tablet resources folder, so I got this error only with phone layout. The phone layout simply had no suitable layout file.
I worked again after moving the layout file in the correct standard folder and a following project rebuild.
Upvotes: 1
Reputation: 28845
I deleted folders build
inside a project. After cleaned and rebuilt it in Android Studio. Then corrected errors in build.gradle and AndroidManifest.
Upvotes: 1
Reputation: 790
I got this error from yet another reason:
I had the file res/xml/data.xml
and I was trying to load it with Resources
class like this:
Resources.getSystem().getXml(R.xml.data);
However this is incorrect as the method Resources.getSystem()
returns a global shared Resources object that provides access to only system resources.
The correct way is as follows (from inside Activity):
this.getResources().getXml(R.xml.data);
Upvotes: 2
Reputation: 654
if it happens again delete the r.java file. it will generate automatically.
Upvotes: 39
Reputation: 8016
You have screen orientation set to landscape in your xml. If you have used eclipse to generate this file it would have created under res/layout-land/ folder.But when you open activity in Portrait mode application will search for xml in res/layout-port/ folder or the regular res/layout/. If you didn't have xml for portrait mode your application will crash.
Upvotes: 0
Reputation: 1020
This can happen due to a different language in the phone for which your code doesn't have the asset for. For example your preference.xml is placed in xml-en and you are trying to run your app in a phone which has French selected, the app will crash.
Upvotes: 2
Reputation: 499
Make sure that the R you are pointing to is the correct one. I had a problem very similar to this, where an import got inserted by Eclipse that pointed to the System R file rather than the project one. It took a lot of head scratching. Hope this helps.
Upvotes: 0