2013-02-21 46 views
3

我有重寫back按鈕,使它像的home按鈕的代碼:重寫後退按鈕

@Override 
public boolean onKeyDown(int keyCode, KeyEvent event) { 
    if (keyCode == KeyEvent.KEYCODE_BACK) { 
     moveTaskToBack(true); 
     return true; 
    } 
    return super.onKeyDown(keyCode, event); 
} 

它可以正常使用。我的問題是,如果有一個位置我可以把它用於所有活動。現在我在每個活動中都複製了這種方法。

+1

這不是一個好主意,做這樣的事情。用戶會感到困惑。 – 2013-02-21 14:21:21

回答

3

創建您自己的BaseActivity並與活動進行擴展,覆蓋回到那裏。現在在您的整個應用程序中使用Activity使用該BaseActivity。

事情是這樣的:

public abstract class BaseActivity extends Activity 
{ 
    final protected void onCreate(Bundle savedInstanceState) 
    { 
    super.onCreate(savedInstanceState); 
    onCreate_Impl(savedInstanceState); 
    } 

    abstract protected void onCreate_Impl(Bundle savedInstanceState); 
}  

你有到位的onCreate的使用onCreate_Impl。

+0

希望這會幫助你。 – 2013-02-21 14:22:58

3

創建一個基地活動,處理的關鍵那裏繼承你的基地活動所有其他活動。

+0

@Ascorbin,我需要更快地輸入:) – paulkayuk 2013-02-21 14:21:24

3

創建BaseActivity(延伸活動)使用此代碼,然後讓所有的活動延伸BaseActivity,不活動。

1

你可以做一些抽象類,它擴展了活動,並實現了這個方法。 然後在您的應用的每個活動中對其進行子類化。一次只能擴展一個類,但在大多數情況下,最好有一些抽象的Activity類包含一組應用程序活動的通用函數。