一、现象
1、R.id.(或者R.layout.等)不显示自己的资源名称
2、手动敲入自己的资源名报错
二、原因
表现原因:一般是因为导入了其他的R资源,有可能是复制了其他人的代码,也有可能是在提示使用R资源时点了导入android.R,其实这些又不是自己的R文件,正确的应该是导入自己项目下的R(如com.example.c2activity)
深入解析:后来我发现正常的类是不用导入R的(默认是自己项目内部的),那么问题出在哪里了?翻看一下自己src下的包名和gen下面的包名是否不一致?gen是可以自动生成的,删掉或者重命名都是不可行的,那么gen的包名是从哪里来的?是什么问题导致不一致呢?
后来发现gen下的包名源自AndroidManifest.xml文件,package=后面的字段,那么不一致的导火索就呼之欲出了,要么就是这个项目是修改别人的,或者你手动新建包的时候输入错误了。