Ok, I am working on a new app and everything worked fine as long as I used a Relative View. However, I want a tabbed layout so I switched what I had (not much so far since I just got it reading from a DB and settings working) over to a tabbed view. Since that time, any class that has any R. statement in it has an "R cannot be resolved" error. I am following the tutorial from the Android "Hello Views" tutorial so I am assuming that isn't the issue (but it could still be).
10 Answers
I have a few suggestions:
Make sure you don't have any other errors other than the R-related errors. Right-click your project folder in Eclipse, Android Tools -> Fix Project Properties.
Check to make sure you have the correct R imported. Sometimes the default Android.R can be imported.
Check for errors in your layout XML files.
2 Comments
- You can try to "clean" your project.
- The default tech solution helps sometimes: restart Eclipse (seriously)
- If you have an error (something in your XML maybe, or something else), R cannot be compiled. If this is the case, try to find the first error noted. If you fix this, R will be compiled and found. If necesairy, use point 1. and 2. after fixing stuff.
- Remove all "import R" stuff in the import sections. You don't want that.
7 Comments
Along with the great suggestions in the previous answers, make sure your Android target is set:
- Right-click on your project
- Choose Properties
- Choose Android in the left menu
- Tick a box next to the appropriate Project Build Target.
- Click Apply and OK
Edit: A year later I found another cause. I had a .jpg image in my drawable folder with the same name as a .png image. Referencing this image in my code must have confused the program and it gave the "R cannot be resolved" error.
Comments
If anything in your 'res' directory is named using illegal characters, this can happen.
Note that android only allows lower case letters (no capitals!!!), numerals, and the underscore. THAT'S ALL!
Almost every operating system allows other characters, so moving a file into your 'res' directory can easily create this problem.
Fix? Rename the file. This is done by right-clicking the file in your package or project explorer and selecting Refactor->Rename. You may need to clean your project after, but beware of the dreaded "import android.R" that may creep in.
Good luck! -scott
Comments
Check that all of the strings you think you're using (e.g. "@string/Hello_world") actually exist in your strings.xml file. I got the OP's error after declaring a menu item using android:title="@string/Navigation", but I hadn't added <string name="Navigation">Navigation</string> to strings.xml
Comments
You need to make sure you import R. If your main package is com.example try importing "com.example.R" at the top of your files. For some reason eclipse does not do this for you.