Android Studio编译错误,添加了资源

时间:2014-05-01 22:04:51

标签: android android-studio

我已将这行代码添加到我的程序中:

icon1.setImageResource(getResources().getIdentifier(item1, "drawable", getApplicationContext().getApplicationInfo().packageName));

并将图像(.png)添加到我的drawable文件夹中。当我编译时,我收到以下错误:

Error:(773, 32) error: <identifier> expected
Error:(773, 37) error: illegal start of type

R.java中的错误位置:

public static final class drawable {
        public static final int 1001=0x7f020000;
        public static final int 1004=0x7f020001;
        public static final int 1006=0x7f020002;
        public static final int 1011=0x7f020003;
        public static final int 1018=0x7f020004;
        public static final int 1026=0x7f020005;
        public static final int 1027=0x7f020006;
        ..........

每个人都会抛出一对错误。

我将图像放入/ res / drawable-hdpi文件夹。问题是文件名都是数字(例如1023.png)吗?

这可能是什么原因?

1 个答案:

答案 0 :(得分:10)

如下的行:

public static final int 1001=0x7f020000;

正在说&#34;声明一个类型为int的变量,其名称为1001,其值为0x7f020000&#34;。名称应为标识符(包含字符a - zA - Z_0 - {{1}仅在第一个字符后被允许。)

在这种情况下,9是一个整数而不是标识符,这就是你得到&#34;预期&#34;错误。 &#34;非法开始类型&#34;错误是指同一个问题(编译器期望标识符提供类型的名称)。

1001中的项目应该是:

R.java

可绘制标识符是从文件名创建的,因为您有数字文件名,所以它使用这些值。您应该为图像提供合理的名称或为其添加前缀,例如public static final int actionbar_logo=0x7f020000;