我应该将超级调用放在Android事件处理程序中的什么位置?
|
在阅读“ Hello,Android”时,我注意到一个问题。
当他在Activity中实现onCreate()时,它看起来像:
{
super.onCreate(..);
...
...
}
但是onSizeChanged()看起来像:
{
...
...
super.onSizeChange();
}
而且他不会在onDraw()中调用super。
我应该在哪里放置超级通话说明?在Android的文档中哪里可以找到答案?
没有找到相关结果
已邀请:
2 个回复
悸翠疮武昏
。但是,有时您需要在调用super之前执行其他步骤,因此您可以像
方法中那样进行操作。超级调用是根据此条件而不是其他任何规则确定的。
凸晴
调用应该(通常)在开头,因为您希望在尝试初始化子类之前先初始化基类。 如果您要调用的行为类似于清理例程,则通常应在末尾进行
调用,因为您想在超类清理自身之前清理所有片段。 对于在任意时间出现的呼叫,这将取决于您覆盖的呼叫的性质。如果您想在框架进行计算之前先做一些事情,以便可以影响它们的结果,则需要在最后调用
。如果要基于超类的计算进行计算,则
调用应从头开始。 简而言之,没有固定的规则:这取决于您要重写的特定方法的功能。