1

在我R.id.exit现在可以打字之前,我必须输入com.ramos.science.R.id.exit为什么?

4

2 回答 2

1

R将与R任何其他包中的类冲突。例如,如果您需要引用 some android.R.id... 那么 Eclipse 可能已经自动导入android.R,因此您可以将其引用为R,但这意味着任何其他R都需要完全限定为com.ramos.science.R.id...。

我的建议和一个很好的惯例是使用完全合格R的其他包,只R为你的包。因此,如果您需要 Android 设备,请始终这样做android.R...,然后只需导入您的包,以便您可以简单地使用R.

TLDR:检查其他 R 类的导入。如果有任何不是你的包,删除它们并添加你的。对于其他包,请使用完全限定名称,例如 android.R.id...

编辑

Android Lint 工具甚至对此进行了检查:

检查“import android.R”语句,这通常是偶然的

进口android.R通常不是故意的;当您使用 IDE 并要求它在项目的 R 类不存在时自动添加导入时,有时会发生这种情况。一旦导入在那里,您可能会收到很多“令人困惑”的错误消息,因为当然可用的字段android.R并不是您仅查看自己的R课程所期望的字段。

于 2013-05-08T00:29:14.590 回答
1

检查你的进口,确保在com.ramos.science.R那里列出。

于 2013-05-08T00:08:35.363 回答