0

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

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

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

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

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

谢谢大家!

4

3 回答 3

1

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

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

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

Android中关于R类的更多信息:什么是R?问题。

于 2012-09-07T16:16:46.487 回答
1

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

于 2012-09-07T16:16:16.587 回答
1

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

android.R.layout.xxx
于 2012-09-07T16:16:45.173 回答