我使用以下代码侦听Android上软输入键盘上0-9键的按键:
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if(keyCode == KeyEvent.KEYCODE_0)
{
return super.onKeyDown(keyCode, event);
}
if(keyCode == KeyEvent.KEYCODE_1)
{
return super.onKeyDown(keyCode, event);
}
if(keyCode == KeyEvent.KEYCODE_2)
{
return super.onKeyDown(keyCode, event);
}
if(keyCode == KeyEvent.KEYCODE_3)
{
return super.onKeyDown(keyCode, event);
}
if(keyCode == KeyEvent.KEYCODE_4)
{
return super.onKeyDown(keyCode, event);
}
if(keyCode == KeyEvent.KEYCODE_5)
{
return super.onKeyDown(keyCode, event);
}
if(keyCode == KeyEvent.KEYCODE_6)
{
return super.onKeyDown(keyCode, event);
}
if(keyCode == KeyEvent.KEYCODE_7)
{
return super.onKeyDown(keyCode, event);
}
if(keyCode == KeyEvent.KEYCODE_8)
{
return super.onKeyDown(keyCode, event);
}
if(keyCode == KeyEvent.KEYCODE_9)
{
Log.d("Keycode", "Got KeyCode 9");
return super.onKeyDown(keyCode, event);
}
return true;
}当我以以下模式显示软输入键盘时,代码工作:

但是,当我在以下模式显示软输入键盘时,不工作:

为什么会这样呢?
发布于 2011-03-23 20:06:13
这是因为数字垫有不同的键码。不幸的是,它们只是在API级别11 (Android3.0,蜂窝)中引入的,所以您必须找到另一种方法来解决这些家伙的最大兼容性问题。
https://stackoverflow.com/questions/3987491
复制相似问题