我有这个代码覆盖back
按钮并使其像home
按钮一样:
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
moveTaskToBack(true);
return true;
}
return super.onKeyDown(keyCode, event);
}
它工作得很好。我的问题是,如果有一个位置我可以把它用于所有活动。现在我在每个活动中都复制了这个方法。
答案 0 :(得分:3)
创建基本活动,在那里处理密钥并从基础活动继承所有其他活动。
答案 1 :(得分:3)
使用此代码创建BaseActivity(扩展Activity),然后让所有活动扩展BaseActivity,而不是Activity。
答案 2 :(得分:3)
创建自己的BaseActivity并使用Activity扩展它,覆盖那里。现在在整个应用程序中使用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_Impl代替onCreate。
答案 3 :(得分:1)
你可以创建一些抽象类,它扩展了Activity并实现了这个方法。 然后在应用程序的每个Activity中将其子类化。一次只能扩展一个类,但在大多数情况下,最好让一些抽象的Activity类包含一组应用程序活动的常用函数。