1、首先排查加载其他简单(ok)布局是否会出现问题,如果能正常加载其他布局则可定义为布局问题,反之应该是activity或者Fragment的问题,可以检查下Context的作用域。
本人遇到的问题是布局问题:编译也能通过,就是在运行的时候会报错,最终决定采用(类似二分法)进行局部代码屏蔽来进行定位错误区域,最终发现是一个RelativeLayout布局出的问题。
最有可能的就是第二行的问题,按Ctrl 点击进去也能链接过去,扫描了一眼默认value 和value-zh-rCN文件夹下都对这个dimen进行了定义,可是再仔细确认才发现:单位竟然没有加上!!!!
总结下:布局的这些问题,应该是在间接引用资源时出现的,
1.可能是间接资源问题(缺、错、多、名称写错、多空格、多引号等)
2.a.如果是引用自定义的布局,自定义布局路径是否填写错误,
b.同时,自定义View时三个构造函数都要实现
View(Context context) //Simple constructor to use when creating a view from code
View(Context context, AttributeSet attrs) //Constructor that is called when inflating a view from XML
View(Context context, AttributeSet attrs, int defStyle) //Perform inflation from XML and apply a class-specific base style
3.编译的中间文件没有清理干净:第三种就是你在原生系统代码的编译环境下编译APK之后,特别是修改了XML,出现标题所述现象,这个时候你只需要删除out目录下编译生成的中间文件夹即可(具体名字记不清了:在编译过程中,系统会将那个位置打印出来,通过串口来看吧,.../out/....../..../classes.dex,你循着这个路径往前推到你的应用的project名字那一层文件夹),删除再重新make就OK了(clean 一下也行)。
4.遇到问题 可采用逐一缩小排查区域去定位。