我无法从代码中访问图像(R.drawable ...)。

3

我正在使用Eclipse开发一个Android游戏,突然代码中出现了很多错误。Eclipse现在无法识别R.drawable资源......控制台显示以下警告:libpng警告:忽略带有gamma=0的gAMA块。

我该怎么做才能恢复到以前的状态?


生成的 R.java 文件在代码中正确地包含了图片。 - Fischer
你尝试过重新启动Eclipse吗? - Reno
这个消息只是一个警告,你可以忽略它。你还有其他实际的错误吗?我想你指的是日志中的错误,而不是代码中的错误。 - satur9nine
是的,我尝试重新启动Eclipse和计算机...问题仍然存在。 - Fischer
这条消息是一个警告,但我不能忽略它,因为代码现在无法访问图片。 - Fischer
我不明白为什么这个被踩了,我花了30多分钟来尝试解决它,每一个我找到的解决方案都建议刷新项目、清理...但这实际上是我的问题!感谢@Fischer。 - Dany Khalife
3个回答

8
我找到了解决方案。看起来导入R文件(资源文件)时出现了错误。 我将 import android.R 替换为 import package.name.R
感谢您的帮助。

1

我肯定不是最高级的人,但我已经丢失了我的R.java文件不止一次。每当需要添加一个有错误的东西时,整个文件都会丢失。所以你看到的几乎所有错误都是次要错误。你是否添加了图像或其他类型的资源,这些资源可能导致你丢失r.java文件?


这是在将PNG图像添加到drawable目录后发生的。代码无法识别新图像,我尝试使用Eclipse的清理工具。之后,我无法访问任何图像。 - Fischer
一旦r.java文件消失,由于到处都是错误,很难找出问题所在。我建议您尝试将代码与该错误图像完全分离,即在代码中取消对它的引用。祝你好运,我理解你的痛苦。 - Adam6806

1

你尝试过清理和构建项目吗?转到项目>清理并清理您的项目。然后再次尝试运行它。大多数情况下,当我看到我的R.java存在问题时,清理和构建可以解决它。

如果这样做没有帮助,您可以粘贴您的代码或其中一部分代码吗?


int heads[] = { R.drawable.h1, R.drawable.h2, R.drawable.h3 }; 头像数组包含三张头像图片,分别为h1、h2和h3。 - Fischer
你的项目文件夹中的资源怎么样?有没有Android不支持的文件类型?例如:不支持的音频类型、图像类型等。 - Kyle Clegg

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接