在自定义控件时,常常会带有3个构造方法,那么我就会想到,为什么要3个呢,只写一个会怎么样呢?
如果只实现一个构造方法,比如
public MyButton(Context context) {
super(context);
}
,那么你在xml中使用的时候,就会报这样的错
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.DrawEdxtView/com.example.DrawEdxtView.MyActivity}: android.view.InflateException: Binary XML file line #14: Error inflating class com.example.DrawEdxtView.DrawEdxtView
但是如果你只实现了一个构造方法,要使用这个自定义控件的话,就用代码去实现吧,在activity中这样写:MyButton mButton=new MyButton(this);
采用new的方法是不会报错的,具体原因还没了解,这是google定义的机制