开发者

main cannot be resolved or is not a field

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.


Make sure you don't have this in your imports:

import android.R;

but:

import your.application.packagename.R;


Also try: add

import your.application.packagename.R;

and run: eclipse->project->clean..

The error should be gone.


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!


Delete all your import statements from the class where you are getting this error message.

Then press ctrl+shift+o


I changed

   import android.R;

to

 import your.application.packagename.R;

And project ->clean still the error.

But when I Run the project the error automatically gone, may be Eclipse problem.


for me changing

import org.opencv.R;

to

import com.example.opencvtryagain.R;

solved it, where as my package name was com.example.opencvtryagain;


Also, sometimes it still won't compile even after making that needed change; but if you go ahead and run the app, the errs will clear up.


If you are using eclipse, then

  1. Delete all your import statements from the class where you are getting this error message.

  2. press CTRL + SHIFT + O --> OR select Source from menu and select Organize import. This will import all the necessary classes.

Note: Since you have a local R.class file, it will import your local file instead of the android.R file.

Hope this will help someone.


I have removed the following line and it worked for me.

import android.R;

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜