我已将这行代码添加到我的程序中:
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)吗?
这可能是什么原因?
答案 0 :(得分:10)
如下的行:
public static final int 1001=0x7f020000;
正在说&#34;声明一个类型为int
的变量,其名称为1001
,其值为0x7f020000
&#34;。名称应为标识符(包含字符a
- z
,A
- Z
或_
,0
- {{1}仅在第一个字符后被允许。)
在这种情况下,9
是一个整数而不是标识符,这就是你得到&#34;预期&#34;错误。 &#34;非法开始类型&#34;错误是指同一个问题(编译器期望标识符提供类型的名称)。
1001
中的项目应该是:
R.java
可绘制标识符是从文件名创建的,因为您有数字文件名,所以它使用这些值。您应该为图像提供合理的名称或为其添加前缀,例如public static final int actionbar_logo=0x7f020000;
。