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

Posted 彭老希

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android异常篇 “Binary XML file line # : Error inflating class”相关的知识,希望对你有一定的参考价值。

(一)引用类名问题

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

(二)构造函数问题

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

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

View(Context context)

Constructor that is called when inflating a view from XML
从XML膨胀视图时调用的构造函数

View(Context context, AttributeSet attrs)

Perform inflation from XML and apply a class-specific base style
从XML执行膨胀并应用特定于类的基样式

View(Context context, AttributeSet attrs, int defStyle)

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

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

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

(四)找不到资源文件

以上是关于Android异常篇 “Binary XML file line # : Error inflating class”的主要内容,如果未能解决你的问题,请参考以下文章

Android异常篇 efore task ‘:app:compileDebugJavaWithJavac‘

Android异常篇 efore task ‘:app:compileDebugJavaWithJavac‘

Android异常篇 Fail to connect to camera service

Android异常篇 Android Studio中R文件丢失,且对应import语句变成灰色

Android异常篇 Error:Execution failed for task ‘:app:validateSigningDebug‘.

Android异常篇 The option setting ‘android.disableResourceValidation=true‘ is experimental and unsupport