0


我想知道super.onPreExecute()例如应该放在哪里?或者换句话说,这是正确的代码:

@Override
protected void onPreExecute() {
    super.onPreExecute();
    RelativeLayout parent = (RelativeLayout) findViewById(R.id.layoutHomeInfo);
    RelativeLayout.LayoutParams params = (LayoutParams) parent.getLayoutParams();
    params.addRule(RelativeLayout.ALIGN_PARENT_LEFT);
    params.addRule(RelativeLayout.ALIGN_PARENT_TOP);
    progress = new ProgressBar(mContext);
    parent.addView(progress, params);
}

或者

@Override
protected void onPreExecute() {
    RelativeLayout parent = (RelativeLayout) findViewById(R.id.layoutHomeInfo);
    RelativeLayout.LayoutParams params = (LayoutParams) parent.getLayoutParams();
    params.addRule(RelativeLayout.ALIGN_PARENT_LEFT);
    params.addRule(RelativeLayout.ALIGN_PARENT_TOP);
    progress = new ProgressBar(mContext);
    parent.addView(progress, params);
    super.onPreExecute();
}
4

2 回答 2

7

哪里都行。

两者都没有错,这完全取决于您何时想要调用父函数,完全取决于(开发人员)。

于 2012-08-17T12:43:22.670 回答
1

您正在调用super class method,放置位置取决于功能。例如,假设您正在初始化一些组件(在您的方法中)并渲染 ui(超级类),那么您将在您的方法中初始化它们,然后调用将渲染 UI 的超级方法。

于 2012-08-17T12:45:29.820 回答