如何继承一个部件
问题描述:
我是子类按钮,这样如何继承一个部件
import android.widget.Button;
public class MyButton extends Button {
// ...
}
然而,任何控件我尝试子类编译错误
结果中有没有可用的默认构造函数[部件]
任何帮助?谢谢。
答
您遇到的错误是由仅具有至少一个参数的构造函数的小部件引起的。
,如果你有一个类A
这样的:
public class A {
public A(String parameter) { // ... }
}
,你定义一个类B
延伸A
,那么你必须通话A
在B
构造像这样:
public class B extends A {
public B(){
super("some string"); // you have to have this!
}
}
在您的按钮的情况下,使用此构造函数
public MyButton(Context context, AttributeSet attrs) {
super(context, attrs);
this.setOnClickListener(this);
}
答
Java中的子类不继承父构造函数,您将需要重新实现属于Button的4个构造函数。只需在每个中调用超级构造函数即可。
....添加一个默认的构造函数? –
添加一个导入'android.widget.Button'的源代码? –
删除默认结构。 –