我发现我的R.java从来没有更新过,所以它不包含关于新资源的信息,所以我决定删除它,并认为Eclipse会生成一个新的资源。但这并没有发生,我现在没有R.java。我怎么能再生一个?

我用的是Windows 7。

其中一条评论是:“做项目->清洁是我遇到问题的原因。删除R.java…不管出于什么原因,插件没有重新生成文件。”


当前回答

对我来说,这个错误是由于我试图复制一个现有的res/菜单,而不是用向导创建一个。

其他回答

我想强调糞_爺的答案。

我重命名了一个颜色从“listcolor”到“color_list”,但我没有抓住其他布局之一是引用它。所以(突然)我所有的R.string. x和R.layout. x在'R'上都失败了。

最后,我查看了控制台窗口并查看了错误。我认为它们都是R没有被发现的引用,但实际上,其中一个是'listcolor'没有被发现。一旦我修复了这个,其他错误就都消失了。

也许Eclipse插件的未来版本将允许您重命名这些XML文件中的资源,并将其传播到对它的所有引用中。

同样会导致这种情况的是,如果你有一个scale9可绘制文件与另一个文件具有相同的名称:

img_file.9.png img_file.png

只需删除其中一个文件就可以修复它。

还有另一种情况发生在我身上。当我在strings.xml资源文件中添加一个带有撇号的字符串时,就像

<string name="Today">Returns Today’s date</string>

它是通过将撇号改为另一种类型的撇号来修复的,比如´。

我忘记在可声明样式的标记上设置name属性

<declare-styleable>
        <attr name="myView" format="reference"></attr>
</declare-styleable>

我用

<declare-styleable name="Theme">
        <attr name="myView" format="reference"></attr>
</declare-styleable>

我没有得到任何错误

几乎可以肯定插入到genfile中的内容有问题。Eclipse不够聪明,无法显示问题是什么,甚至无法指出存在问题!

考虑一下您对任何XML或图像内容所做的最后一次编辑-并尝试“回滚”您的更改,如果需要可以手动进行。

我发现Eclipse有时出于某种原因不喜欢我的文件名,我必须更改它们。

所以,一个接一个地增加资源,确保一切都“有效”。当出现问题时,只需尝试对其进行一些更改,直到Eclipse接受它。

当genfile出现时,你知道它正在工作-如果没有问题,它会自动这样做。