InflateException: Binary XML file line #20: Error inflating class fragment

本文记录了一次在Android应用中使用Fragment时遇到的错误,并详细解释了如何排查与解决这一问题。作者分享了从网上搜索到的常见解决方案以及最终发现的真正原因——XML文件中的标签使用不当。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

现在正在学习fragment,废了半天的力气终于把frangment的编写流程给搞个明白,于是信心满满的开始动手尝试编写fragment的应用,好不容易把程序编完,可是一运行居然报出错误,此时我的内心是崩溃的,错误提示:

E/AndroidRuntime(2176): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.frametest/com.example.frametest.MainActivity}: android.view.InflateException: Binary XML file line #20: Error inflating class fragment

于是上网搜寻各种解决办法:大多的解决办法都是导包的问题,

1、extends fragment应该导入的是android.support.v4.app.Fragment 而不是android.app.fragment的包,

2、还有就是关联fragment的activity应该继承的是fragmentActivity这个类,

3、获取fragmentManger应该用 getSupportFragmentManager().beginTransaction().replace(R.id.book_detail_container, fragment).commit()


 这些方法我都尝试了,可是发现对于我的错误都没有解决。。


一个偶然的机会看到一篇文章,才发现自己是在xml文件中标签类型使用的错误,动态加载fragment时应该使用的是frangment容器,就是fragmetLayout标签,而不能在使用fragment标签,使用fragment标签时,必须要有name属性,才能够正常运行。。。


发现这个简单的问题更多是自己的眼高手低造成的,以后还有多敲代码才行啊!


不知道还有没有人和我遇到同样的问题,希望这篇文章对你们有帮助。。。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值