【问题描述】
今天在开发项目时,遇到一个诡异的问题:一个App工程下明明有a.xml文件,但在OnCreate回调里进行
setContentView设置对应的layout时,却一直显示找不到对应的资源。开始以为是没有重新编译造成冲突引起
的,后来重新编译了整个工程还是存在这样的问题。
【问题解决】
尝试了多种方法后,最后发现删除R资源,在重新写一遍R,根据提示对应的多个R资源选择对应的R即可。
结合自己的实际操作:从library中剪切了一份代码到app中,再把xml拷入app的资源文件目录下,以为万事大吉,
实际上原来代码中的R资源还是对应library工程下的R,因此在剪切后,一直提示a.xml文件找不到的问题。
【一句话总结】
补全命名空间, 提示找不到资源文件时,多半是jar包冲突导致R对应错误的问题,解决起来很简单,
直接删除R再重写,根据智能提示的资源找到最合理的R包进行设置。
将R.layout.a -> 改写为 com.xx.test.R.layout.a