2015年5月21日星期四

Error inflating class fragment常见问题集锦

前两天一篇调Bug的文章里提到了Error inflating class fragment,详情见《解决Unfortunately,@#¥@#¥@ has stopped问题》。现在把常见的Fragment异常,Binary XML file in line #X: Error inflating class fragment错误整理一下。

1.Fragment包载入错误

这是一个版本差异。

android.app.Fragment兼容的最低版本3.0,(即API11,现在大家貌似说4.0的多一点,因为总是忽略了3.x的平板时代)

android.support.v4.app.Fragment则兼容4.0以下

常见错误是开发支持4.0以下版本的APP,却载入了android.app.Fragment,这时需要用后者替换,注意,使用android.support.v4.app.Fragment,需要同时载入android.support.v4.app.FragmentActivity。

没有载入FragmentActivity也是常见的此类错误原因。

2015年了,小开发省事儿点,就把支持最低版本弄到4.0以上~


2.xml文件中的<fragment   />部分出错

常见语法,拼写错误等,这是De-Bug需首先考虑的地方,我们最大的敌人往往就在最不起眼的地方。

注意看Binary XML file in line #X 此X行即为<fragment 开始的地方。我就遇到过layout_width/fragment拼写错误,src写成scr,android:name="XX"里的包名XX拼写错误等



3.在stockOverflow上看到getActivity()使用不当也会导致此原因,暂时还没有遇到过,

详情见这里Error inflating class fragment的第二条。


4.再检查下onCreateView()方法。载入main_activity出错有可能源头在这里,而不是xml文件



没有评论:

发表评论