Binary XML file line #6: Error inflating class com.examp..
1). 引用类名问题
自定义了一个View,将用于布局文件xml中(包名com.android.test,类名MyTestView),在XML作为布局元素来布局的话,
必须使用完整路径名:com.android.test.MyTestView,也就是包名加类名来引用。
正确写法:
<com.android.test.MyTestView
android:id="@+id/test"
android:layout_width="fill_parent"
android:layout_height="fill_parent" />
错误写法:
<MyTestView
android:id="@+id/test"
android:layout_width="fill_parent"
android:layout_height="fill_parent" />
2).构造函数问题
自定义一个View,派生实现基类View的三个构造函数
View(Context context) //Simple constructor to use when creating a view from code
View(Context context, AttributeSet attrs) //Constructor that is called when inflating a view from XML
View(Context context, AttributeSet attrs, int defStyle) //Perform inflation from XML and apply a class-specific base style
从文档上的介绍来看,第二个和第三个构造函数对于XML这种引用方式是必须实现的,这三个构造函数应该是在不同的应用场合来实例化
一个View对象。
3).编译的中间文件没有清理干净, 使用Eclipse clean 下.
4).找不到资源文件:因为找不到相关的资源文件,xml 文件隐含有错误,确保xml 一定是对的.
这上面四个分析一般会出现前两种错误,一定要检查好定义的xml 无误,然后引用类名没有问题。如果还是会报错的话, 问题还是应该出现在第二步了。尽管上面四步都检查过,回头再仔细看。
我出错也在第二步,尽管我把三个构造方法都添加上了,但是还有问题出现,此时最好每个方法中打印log ,看出现在哪个构造方法中log 走了,然后异常出错的。 此时就说明在该构造方法中 写的代码有问题。导致不识别自定义的类。。
这里我就不贴我错误代码了,每个人定义view 写的代码不同, 建议出错时候四个步骤都检查过了,然后慢慢打印log, 一步一步的分析。。