现在正在学习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属性,才能够正常运行。。。
发现这个简单的问题更多是自己的眼高手低造成的,以后还有多敲代码才行啊!
不知道还有没有人和我遇到同样的问题,希望这篇文章对你们有帮助。。。