什么时候应该调用super.onResume()?

时间:2011-08-29 04:06:43

标签: android

何时应该super.onResume();调用onResume()的第一行或最后一行?

protected void onResume() {
    Log.i(MY_DEBUG_TAG, "On Resume");
    super.onResume();
    displayDashboard();
}

3 个答案:

答案 0 :(得分:16)

Android的源代码可以告诉我们一切。如果查看Activity超类,可以找到以下行:

protected void onResume() {
    if (DEBUG_LIFECYCLE) Slog.v(TAG, "onResume " + this);
    getApplication().dispatchActivityResumed(this);
    mCalled = true;
}

在此基础上,无论是在被叫之前还是之后。

答案 1 :(得分:7)

您是否选择调用超级方法取决于您是否需要继承的功能。您经常可以找出是否需要从Api文档中调用super方法。

有时您需要在调用super方法之前执行某些操作(即过滤属性或执行操作)。有时您的代码必须在super方法执行后发生。

这是非常具体的实施。

答案 2 :(得分:0)