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,也就是包名加类名来引用。

        正确写法:  

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

    






  • 9
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值