Android 所有活动通用的关键事件
Android key event generic for all activities
我想将下面的关键事件全部 activity。
我有大约 15 个活动。
@Override
public boolean onKeyUp(int keyCode, KeyEvent event) {
switch (keyCode) {
case KeyEvent.KEYCODE_D:
moveShip(MOVE_LEFT);
return true;
case KeyEvent.KEYCODE_F:
moveShip(MOVE_RIGHT);
return true;
case KeyEvent.KEYCODE_J:
fireMachineGun();
return true;
case KeyEvent.KEYCODE_K:
fireMissile();
return true;
default:
return super.onKeyUp(keyCode, event);
}
}
而不是将相同的代码写入所有 activity。我想写一次并在所有活动中使用它。
我怎样才能实现这个场景?
创建一个 BaseActivity 扩展 Activity 您可以放置此方法的地方。
将 BaseActivity 扩展到您所有的 15 项活动。在您的所有活动中,您只需添加:
@Override
public boolean onKeyUp(int keyCode, KeyEvent event) {
super.onKeyUp(int keyCode, KeyEvent event);
}
这将调用您的 BaseActivity onKeyUp 方法。
我想将下面的关键事件全部 activity。 我有大约 15 个活动。
@Override
public boolean onKeyUp(int keyCode, KeyEvent event) {
switch (keyCode) {
case KeyEvent.KEYCODE_D:
moveShip(MOVE_LEFT);
return true;
case KeyEvent.KEYCODE_F:
moveShip(MOVE_RIGHT);
return true;
case KeyEvent.KEYCODE_J:
fireMachineGun();
return true;
case KeyEvent.KEYCODE_K:
fireMissile();
return true;
default:
return super.onKeyUp(keyCode, event);
}
}
而不是将相同的代码写入所有 activity。我想写一次并在所有活动中使用它。
我怎样才能实现这个场景?
创建一个 BaseActivity 扩展 Activity 您可以放置此方法的地方。 将 BaseActivity 扩展到您所有的 15 项活动。在您的所有活动中,您只需添加:
@Override
public boolean onKeyUp(int keyCode, KeyEvent event) {
super.onKeyUp(int keyCode, KeyEvent event);
}
这将调用您的 BaseActivity onKeyUp 方法。