在win XP上使用Eclipse。我之前创建了一个应用程序或2,但我正在处理'真实'版本并得到上述错误。
我正在创建1.5版本的funnies,所以已经开始了2.1的新项目。
package xxx.guest;
import android.R;
import android.app.Activity;
import android.content.Context;
import android.graphics.Bitmap;
import android.os.Bundle;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.TextView;
public class briefme extends Activity {
private String strURL;
........
........
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main );
项目如下(注意我出于保密原因删除了一些名称!)
任何想法出了什么问题?
谢谢,
马丁。
答案 0 :(得分:60)
我会尝试刷新,如果不起作用,请关闭并打开项目。
如果这两个失败,删除并重新创建R(它应该自动生成)(复制它只是为了安全起见)。
我已经发生了几次这种情况,这是我通常做的三件事来解决错误。
编辑:还尝试更改导入:
import android.R;
为:
import your.package.R;
答案 1 :(得分:3)
在我的情况下,这是因为它们是一个布局资源,文件名中包含大写字母。由于错误而未编译资源,因此缺少R类。
答案 2 :(得分:2)
如上所述,只需更改导入“import android.R;”与您的应用相关的一个例如“import your.package.name.R;”应该在这里做的伎俩。
答案 3 :(得分:1)
您还可以检查/ platform-tools文件夹中的adb程序是否具有在系统中运行的权限。如果没有,则不会生成项目的R.java。
答案 4 :(得分:0)
我的两分钱。
在我的情况下,我使用了另一个同名 R 的变量,导致编译错误。在引导用户输入确切的错误消息方面,Eclipse可能会变得更好。
答案 5 :(得分:0)
R cannot be resolved - Android error可能重复。
在那个帖子中,我们有一个很好的答案。
参考http://source.android.com/source/using-eclipse.html,我们得到以下代码段:
注意:Eclipse有时喜欢在使用资源的文件顶部添加“import android.R”语句,尤其是当您要求Eclipse对其进行排序或管理时。这会导致你的品牌破产。注意这些错误的import语句并删除它们。
所以答案是删除而不是重命名import android.R;
原因是,由于您共享包,因此your.package.R
可见。
import android.R;
掩盖了这一点,因此删除它而不是将其更改为冗余更为清晰。
答案 6 :(得分:0)
如果您的64位Linux平台没有ia32库,那么也可能出现此问题。我花了很长时间才把它固定下来,发现问题与无法执行32位代码没有明显联系。
答案 7 :(得分:0)
在我的情况下(看其他教程)你必须改变:
setContentView(R.layout.main );
要:
setContentView(R.layout.activity_main);