android keylistener丢失按键
我正在使用一个按键侦听器来获取按键。问题是,一旦您点击delete键,下一次点击的键没有注册。之后的按键继续工作。如果我连续点击2次删除,它们会工作,只是没有其他键。他们就这样消失了 我在if-keycode部分之前加入了一个日志测试,在按下第一次删除后它什么也不显示,除非它是另一次删除 我正在使用以下代码,谢谢Shawn:android keylistener丢失按键,android,keylistener,Android,Keylistener,我正在使用一个按键侦听器来获取按键。问题是,一旦您点击delete键,下一次点击的键没有注册。之后的按键继续工作。如果我连续点击2次删除,它们会工作,只是没有其他键。他们就这样消失了 我在if-keycode部分之前加入了一个日志测试,在按下第一次删除后它什么也不显示,除非它是另一次删除 我正在使用以下代码,谢谢Shawn: itemPrice.setKeyListener(new CalculatorKeyListener()); itemPrice.setRawInputType(Confi
itemPrice.setKeyListener(new CalculatorKeyListener());
itemPrice.setRawInputType(Configuration.KEYBOARD_12KEY);
class CalculatorKeyListener extends NumberKeyListener {
public int getInputType() {
return InputType.TYPE_CLASS_NUMBER;
}
@Override
public boolean onKeyDown(View view, Editable content, int keyCode, KeyEvent event)
{
if (keyCode >= KeyEvent.KEYCODE_0 && keyCode <= KeyEvent.KEYCODE_9) {
digitPressed(keyCode - KeyEvent.KEYCODE_0);
} else if (keyCode == KeyEvent.KEYCODE_DEL) {
deletePressed();
}
return true;
}
@Override
protected char[] getAcceptedChars() {
return new char[] { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
}
}
有了这个问题,keylistener对我来说没有任何价值。一定有什么东西我错过了
谢谢,当您从onKeyDown中删除除日志以外的所有内容时,是否可以重现此行为?只是为了确保你在deletePressed方法中没有做错任何事情……是的,我可以。事实上,如果在任何一个地方除了日志之外什么都没有,同样的情况也会发生。谢谢。很抱歉,这两个文件都有itemPrice.setText。如果没有它们,它将捕获所有击键。但其目的是显示/控制数据输入。