2012-08-17 101 views
1


我想知道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(); 
} 
+0

我懷疑你實現了'AsyncTask'並且你在這裏調用的超級方法是空的,並且無論你在哪裏或者如何調用它們都沒有關係。我只是刪除線。 – zapl 2012-08-17 13:02:34

回答

7

無論你想要的。

也不是錯誤的,它只是當要調用父類的功能完全取決於,並是一切都取決於你(開發者)。

+2

構造函數的例外情況,必須首先進行「超級」調用。 – 2012-08-17 12:48:36

+2

@RoddyoftheFrozenPeas true,但是這種格式只是'super(...)' – Neal 2012-08-17 12:49:54

1

你在致電super class method,在哪裏放置是取決於功能。對於例如假設你正在初始化一些組件(在你的方法中)並且渲染ui(超類),那麼你將在你的方法中初始化它們,然後調用將會呈現UI的超級方法。