BUG修改日记 - Android Fragment初学 - Binary XML file line #XX: Error inflating class fragment

第一次写博,如有不对,多多海涵。

背景: 最近学校Android课要求练习 第一行代码Android 上4.5新闻app实践,要使用到 fragment,recyclerview等控件,但按照书上按部就班写出来后,出现app无法打开情况。初次修改,无果。实在令人郁闷、烦躁、想砸电脑,为了电脑安全,暂且搁置,今再次尝试,成功解决。

书上版本较老,我使用的 Android Stdio 3.5 。

报错现象:
在这里插入图片描述
在这里插入图片描述

Unable to start activity ComponentInfo{com.example.news_201717225110/com.example.news_201717225110.MainActivity}: android.view.InflateException: Binary XML file line #20: Error inflating class fragment

Caused by: android.view.InflateException: Binary XML file line #20: Error inflating class fragment

分析: 可以看到,为fragment 引用报错,但报错信息中只标注出了错误在渲染错误位置,无法确定,主要观察fragment相应代码,经面向百度开发,此报错为fragment未标注 id 或 name/class [^1] ,但查看后发现并未有此类出错,陷入沉思。

处理: 未能直接观察出错误,采用简单复现方法 。新建一项目,简化流程,检查错误位置。

  • 第一步:新建双fragment页面,左右分布,各带一textview检查是否正常。运行正常。
  • 第二步:为left fragment 添加标题 recyclerview 并带上适配器,运行正常。
  • 第三步:为 right fragment 添加布局内容,内容如下:
    在这里插入图片描述
    终于报错了,问题部分找到了。
  • 第四步: 逐个注释组件,发现当 <view>出现时报错,此时更改为其他布局,如 <Linearlayout>,问题解决。表示很淦。

结论: 此错误原因未知,花费时间 40min ,不够熟练,简单复现很有用,此BUG解决。

[^1] 不知道对否。

发布了1 篇原创文章 · 获赞 1 · 访问量 36

猜你喜欢

转载自blog.csdn.net/Smooth_re/article/details/105134087