6.22处理活动中的按键事件
问题
您要拦截用户按下的键并执行与其对应的操作。
解
覆盖Activity中的onKeyDown方法。
讨论
如果应用程序必须在不同的按键时反应不同,则需要在Activity的Java代码中覆盖onKeyDown方法。 此方法将KeyCode作为参数,以便在开关情况下可以执行不同的操作(见例6-27)。
实施例6-27。 onKeyDown方法
public boolean onKeyDown(int keyCode, KeyEvent service) {
switch(keyCode) {
case KeyEvent.KEYCODE_HOME:
keyType.setText("Home Key Pressed!");
break;
case KeyEvent.KEYCODE_DPAD_CENTER :
keyType.setText("Center Key Pressed!");
break;
case KeyEvent.KEYCODE_DPAD_DOWN :
keyType.setText("Down Key Pressed!");
break;
//and so on..
}
}