2011-12-17 45 views
0

我知道,類似的話題被提出了上千次,但我騎它們中的一些。通用主頁按鈕方法

我的主要活動A.我有幾個其他的活動,可以說:B,C,D在B,C,d我得到這個按鈕,GOHOME()方法。

我想一次寫該方法,然後用它在活動B,C,d。我不想在每個活動類上重新創建方法。我怎麼做?

回答

2

讓孩子活動(在這裏B,C,d)延長,處理onActivityResult()類。當開始他們的意圖時,使用startActivityForResult(),並傳遞一個請求和響應代碼。

當這些代碼由onActivityResult()接收,簡單地具有它finish()。這會自動將禁止任何兒童活動的用戶返回到活動A.

+1

@Xylian面向對象的設計有利於解決這些問題很多。我會建議研究面向對象技術,因爲它們會使你成爲一個更有效的和有組織的編碼器,不管你是一個孤獨的狼或一個團隊成員。 – styler1972 2011-12-19 16:12:00

0

您可以創建一個只包含靜態方法的類。 您沒有說過,如果您通過按下後退按鈕或開始新的活動從B,C,D返回A。 但是,將此靜態方法放在onBackPressed方法中或放在「goHome()」方法中。

class StaticCode{ 

    static void goHome(){ 
    // the things generally done in B.goHome(), C.goHome(), D.goHome(); 
    } 

} 

然後均勻地調用它在B,C,d:

class B extends Activity{ 
    ... 

public void goHome(){ 
    StaticCode.goHome(); 
} 

} 

注意將參數傳遞到所需的靜態方法,例如上下文。

+0

爲什麼不'StaticCode.goHome()'直接? – Floern 2011-12-17 13:50:25

+0

@Floern你可以調用這個方法不管你喜歡:) – poitroae 2011-12-17 13:51:15