2013-02-21 153 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类包含一组应用程序活动的通用函数。