今天在做Android项目使用fragment时,遇到一个问题 ,其报错信息是:Binary XML file: Error inflating class fragment 。 由于是Android自学的新手,对于一些错误的解决办法知之甚少,甚至一些错误的原因都不甚清楚。
在网上查了好久,都只有一个说法,就是:activity要继承import android.support.v4.app.FragmentActivity;这个包下的FragmentActivity 并且Fragement类要继承import android.support.v4.app.Fragment这个类。但是在我的项目中,貌似还是不能解决问题。无奈之下只能自己去Android官方API去查原因,经过很长时间的debug,结果发现了xml中的属性 Android:name 和 class 。 虽然官网提供的文档中这两个属性是一样的,但是把name 换成class 的确解决了问题(我到现在不知道什么原因,毕竟是新人),如果有知道的打什么呢请在留言中告知 ,感激不尽。
<fragment xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/left_menu"
android:layout_width="match_parent"
android:layout_height="match_parent"
class="com.daniel.qsbk.leftfragment.LeftFragment" >
</fragment>
最终的fragment文件