Android异常汇集----1. android.view.InflateExce: Binary XML file line #6: Error inflating class com.examp


Android异常汇集----1. android.view.InflateException: 

                                       Binary XML file line #6: Error inflating class com.examp..


本节正文:
     自定义view时候出现了该异常问题,在网上查了很久,然后对比代码。
     总结网上以及自己分析问题如下,由于此异常通常出现错误地点不同, 分析此问题步奏通常按照以下几步即可:

    1). 引用类名问题

         自定义了一个View,将用于布局文件xml中(包名com.android.test,类名MyTestView),在XML作为布局元素来布局的话,

        必须使用完整路径名:com.android.test.MyTestView,也就是包名加类名来引用。

        正确写法:  

        错误写法:


    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, 一步一步的分析。。

    






你可能感兴趣的:(【android,异常汇集】)