main cannot be resolved or is not a field
Solution 1
Make sure you don't have this in your imports:
import android.R;
but:
import your.application.packagename.R;
Solution 2
Also try: add
import your.application.packagename.R;
and run: eclipse->project->clean..
The error should be gone.
Solution 3
If this is the problem you are encountering then check at the top of your code - you will see:
import android.R
Delete that line and and change it into
import (com.xx.yy)
Replace (com.xx.yy) with your actual package name for the class. This problem occurs mainly when you copy all the XML and Java code of another application and paste it into your new application.
This is an example of how I replaced the android.R
packages within one of my own apps (a puzzle game):
package com.pir.PUZZLEGAME_NEW;
import com.pir.PUZZLEGAME_NEW.*;
import com.pir.puzzlegame_old.R;
Good luck!
Solution 4
Delete all your import statements from the class where you are getting this error message.
Then press ctrl+shift+o
Android Eve
Just starting in the world of Android development... New to Java and Eclipse as well.
Updated on August 09, 2022Comments
-
Android Eve over 1 year
This error occurs in setContentView line in this code snippet:
/** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main);
I understand that in order for R.layout.main to be resolved, a file named res/layout/main.xml must be present.
It is present and valid (i.e. Eclipse marks it as perfect without any errors). So, what else could cause this error?
BTW, I already tried Project > Clean. The error persists.