bug 描述:
android.view.InflateException: Binary XML file line #xxx: Error inflating class com.xxx.xxxview
问题:
<item name="android:paddingEnd">10dp</item>此属性是api17(4.2)才有,所以在4.1上回crash.
其他关于类似问题:
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.编译的中间文件没有清理干净:。
4.找不到资源文件:。
5.XML语法有隐蔽错误
e.g. android:textSize="@style/Text.Mediumn"
这样的错误、编译时是并不会报错的,竟然会变成动态执行时错误
6.包冲突,或包名未导入等。