在strings.xml文件中,我有:
<resources>
<string name="itemTag">1</string>
<string name="item2Tag">2</string>
</resources>
但是当我进入某项活动并尝试通过此访问时:
ib.setTag(R.string.itemTag, "itemTag");
它在itemTag上发出错误:
itemTag cannot be resolved or is not a field
这是什么意思,我该如何解决?
编辑:代码:
public void changePicture(ImageButton ib) {
ib.setTag(R.string.itemTag, "itemTag");
getResources().getString(R.string.itemTag);
}
答案 0 :(得分:1)
检查您的java import
,您可能导入了与当前包中的R.java
不同的{{1}}。
删除所有导入,然后使用Eclipse Ctrl + Shift + O (组织导入)并选择要导入的正确包。
答案 1 :(得分:0)
如果您尝试获取String
,那么编译器的所有R.string.itemTag
都是int
。如果您查看R
课程,您会发现以下内容......
public static class string {
public static int itemTag = 0x30000;
}
与您使用的所有其他ID一起使用。你想要做的是以下......
getResources().getString(R.string.itemTag);
您还应该通过转到Project&gt;来尝试清理项目。清洁...