【发布时间】:2015-05-06 12:44:27
【问题描述】:
我想拦截来自硬件键盘的按键事件。例如,当用户按下“a”时,我不希望它写在 EditText 中。因此,当按下并释放“a”键时我返回 true,但无论如何它都写在 EditText 中。怎么了?
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
switch (keyCode) {
case KeyEvent.KEYCODE_A:
//Here it logs correct, but the letter appears in the EditText anyway
Log.d("Textboard","A");
return true;
default:
return super.onKeyDown(keyCode, event);
}
}
@Override
public boolean onKeyUp(int keyCode, KeyEvent event) {
switch (keyCode) {
case KeyEvent.KEYCODE_A:
//Here it logs correct, but the letter appears in the EditText anyway
Log.d("Textboard","A");
return true;
default:
return super.onKeyUp(keyCode, event);
}
}
【问题讨论】: