我用来输入r.id.etc现在我必须输入我的软件包blah.blah.blah.r.id.etc

时间:2013-05-08 00:07:45

标签: android

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

2 个答案:

答案 0 :(得分:1)

检查您的导入,确保其中列出了com.ramos.science.R

答案 1 :(得分:1)

R将与任何其他包中的R类冲突。例如,如果您需要引用某些android.R.id ...那么Eclipse可能已自动导入android.R,因此您可以将其引用为R,但这意味着任何其他R 1}}需要完全限定为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课程。