• Android异常:android.view.InflateException: Binary XML file line #14: Error inflating class


    总体原因如下:

    1. 引用类名问题:自定义了一个View,将他用于布局文件中,假设他的包名叫MyPackage,类名叫MyTestView,这个时候你在XML作为布局元素来布局的话,必须使用完整路径名,也就是包名加类名来引用,用MyPackage.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.编译的中间文件没有清理干净:第三种就是你在原生系统代码的编译环境下编译APK之后,特别是修改了XML,出现标题所述现象,删除bin目录,Clean重新生成下项目APK

    4.找不到资源文件:我原来在2.3的原生系统增加动态壁纸的时候,动态壁纸一跑起来就出这个异常,然后crash,当时就是因为找不到drawable的资源文件,于是当时我把drawable的hdpi或nodpi等文件夹的图片资源都拷贝一份到drawble下,问题解决(当时一直不明白系统会根据分辨率来选择加载不同drawable下文件夹的资源,为什么这里必须放入drawable中)。

    总结来看,就是xml中【控件属性】和【控件的类】(一般是自定定义的控件)你出了问题

    我犯了错误是:

    是把<View>写成了<view>,导致了程序出错

    还有出现这个错误另外一个的博客

    <TextView style="@style/xxx">

    写成了:<TextView android:style="@style/xxx">

  • 相关阅读:
    5个排序算法
    原生侧边栏sidebar
    静态方法、实例方法、继承
    函数作用域之闭包与this!
    OOP面向对象编程(下)
    数组方法篇二
    对象
    nginx windows负载均衡入门
    NVelocity
    python3简单爬虫
  • 原文地址:https://www.cnblogs.com/qvbrgw/p/4742013.html
Copyright © 2020-2023  润新知