[英]Why inheritance in Activities makes activity function not work
我有2个活动类,一个是抽象类,它为其他具有相似行为的类提供了一种框架。 因此,可以说活动ActA是提供框架的父级,活动ActB是子级。
我的框架活动如下:
public class ActA extends Activity{
@Override
protected void onCreate(Bundle b){
super.onCreate(b);
// do stuff for setting up framework
}
}
然后,我有一个儿童活动,如下所示:
public class ActB extends ActA{
@Override
public void onCreate(Bundle b){
super.onCreate(b);
// do other stuff
}
}
像do other stuff
被注释的代码实际上并未被调用。 对我来说,看起来合法的是什么问题?
您可以尝试其他方式
public abstract class ActA extends Activity{
@Override
protected void onCreate(Bundle b){
super.onCreate(b);
// do stuff for setting up framework
callForStuff();
}
protected abstract void callForStuff();
}
这样就不必再次调用onCreate()方法了,只需要像
public class ActB extends ActA{
@Override
protected void callForStuff(){
// abstract method
}
}
希望这个能对您有所帮助;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.