我使用以下代码从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;
}
当我在以下模式下显示软输入键盘时,代码有效:
但是,当我在以下模式下显示软输入键盘时,它不工作:
为什么会这样?
答案 0 :(得分:1)
这是因为数字键盘有不同的键码。不幸的是,他们只是在API Level 11(android 3.0,蜂窝)中引入,所以你必须找到另一种方法来解决这些人的最大兼容性。