如果导入存在,android.R错误

时间:2012-09-07 16:10:18

标签: android mobile

我刚刚调试了我的一个应用程序,因为我遇到了R.layout的问题。

当然,我去了我的.xml文件并清理了一些错误,一切都应该没问题,但事实并非如此。

出于某种原因,我仍然遇到一个错误,R.layout说我的.xml文件无法解析为某种类型。

一旦我删除了导入android.R语句,一切都消失了,我的程序编译正确。

据我所知,这与人们在这种情况下所说的相反。通常情况下,他们会告诉您添加该声明以消除任何错误,但我的反对意见却相反。有没有人知道为什么会发生这种情况,这样当不可避免地再次发生这种情况时,我不必花费太多时间在它上面?

全部谢谢!

3 个答案:

答案 0 :(得分:1)

有两个R:您的项目1和android.R一个。你导入了错误的

答案 1 :(得分:1)

不应导入android.R.系统的R.java不是你的项目。通过导入android.R,你实际上隐藏了自己的R.java,这就是为什么它无法解析其中的值。因此,正确地说,android.R应该从您的导入列表中删除。 如果您需要在您的应用中使用它,您可以像这样使用它:

android.R.layout.xxx

答案 2 :(得分:1)

您正在导入不包含应用程序布局资源的R.而是导入Android框架的R,从而导致名称冲突。但是,在某些情况下你可能需要android.R。在这些情况下,您不应该导入android.R,而是在需要时显式使用android.R。[whatever]。

您的应用程序拥有自己的R,其中包含您的应用程序的大部分资源。

android.R包含各种 Android框架资源。

Android: What is R?问题中有关于R类的更多信息。