我刚刚调试了我的一个应用程序,因为我遇到了R.layout的问题。
当然,我去了我的.xml文件并清理了一些错误,一切都应该没问题,但事实并非如此。
出于某种原因,我仍然遇到一个错误,R.layout说我的.xml文件无法解析为某种类型。
一旦我删除了导入android.R语句,一切都消失了,我的程序编译正确。
据我所知,这与人们在这种情况下所说的相反。通常情况下,他们会告诉您添加该声明以消除任何错误,但我的反对意见却相反。有没有人知道为什么会发生这种情况,这样当不可避免地再次发生这种情况时,我不必花费太多时间在它上面?
全部谢谢!
答案 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类的更多信息。