暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Android 异常 :Binary XML file line # : Error inflating class

自学者 2022-04-19
365

每日一句精选英文:What makes life valuable is that it doesn't last forever.

正因岁月短暂,人生才弥足珍贵。


版权声明:

1、原创文章,《自学者》拥有最终解释权,如有侵权,联系删除。

2、有用请“分享朋友、点个“在看”、朋友圈”,帮助更多的小伙伴


(一)引用类名问题

自定义了一个View,将它用于布局文件中,假设他的包名叫MyPackage,类名叫MyTestView,这个时候你在XML作为布局元素来布局的话,必须使用完整路径名,也就是包名加类名来引用,用MyPackage.MyTestView来进行引用。

(二)构造函数问题

自定义一个View,必须派生实现基类View的三个构造函数

    Simple constructor to use when creating a view from code
    从代码创建视图时使用的简单构造函数

    1、View(Context context)
      Constructor that is called when inflating a view from XML
      从XML膨胀视图时调用的构造函数

      2、View(Context context, AttributeSet attrs)
        Perform inflation from XML and apply a class-specific base style
        从XML执行膨胀并应用特定于类的基样式

        3、View(Context context, AttributeSet attrs, int defStyle)
          从文档上的介绍来看,第二个和第三个构造函数对于XML这种引用方式是必须实现的,
          这三个构造函数应该是在不同的应用场合来实例化一个View对象。

          (三)编译的中间文件没有清理干净

          第三种就是你在原生系统代码的编译环境下编译APK之后,特别是修改了XML,出现标题所述现象,这个时候你只需要删除out目录下编译生成的中间文件夹即可


          (四)找不到资源文件

          (五)super 替换为 this 

           自定义控件如需引用自定义属性集,需要将super修改为this引用

          文章转载自自学者,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

          评论