Android:onKeyListener模拟两个按键实例
可能重复:Android:onKeyListener模拟两个按键实例,android,Android,可能重复: 我试图通过按下键盘上的enter按钮来解决显示中包含的表达式(EditText),但它总是像我按下两次按钮一样对其进行解释。有人知道为什么会发生这种情况吗?也不是安卓系统的人,但它注册两次的事实让我认为OnKey包含onKeyDown和onkeydup。听onKeyUp对你也有用吗?试试 Display.setOnKeyListener(new OnKeyListener() { public boolean onKey(View v, int keyCode, K
我试图通过按下键盘上的enter按钮来解决显示中包含的表达式(EditText),但它总是像我按下两次按钮一样对其进行解释。有人知道为什么会发生这种情况吗?也不是安卓系统的人,但它注册两次的事实让我认为OnKey包含onKeyDown和onkeydup。听onKeyUp对你也有用吗?试试
Display.setOnKeyListener(new OnKeyListener() {
public boolean onKey(View v, int keyCode, KeyEvent event) {
switch (keyCode) {
case KeyEvent.KEYCODE_ENTER:
// Check for ACTION_DOWN only...
if (KeyEvent.ACTION_DOWN == event.getAction()) {
solveExpression();
return true;
}
}
}
});
“操作”可以是action\u DOWN
、action\u UP
或action\u MULTIPLE
(最后一个用于按住键时)。将为任何/所有这些操作调用onKey()
正如另一个答案提到的,它会触发两次,因为一次是向下,一次是向上
if (event.getAction()!=KeyEvent.ACTION_DOWN) // we catch only key down events
return true;
因此,当onClick时,您将停止侦听其他keyevents
如果您不希望链中其他人获得另一项工作的事件,您应该设置
return false;
我不是安卓的人,但代码对我来说很好。请检查哪个是钥匙码(是66)?仅在
KeyEvent时返回true。操作_DOWN
将触发logcat中的许多调试输出:操作_DOWN,但键已关闭,且此事件不是重复的键。
这样做将停止侦听KeyEvent dpad\u center作为onClick@ArmasCyndromic注意这个问题-这就是目标。@gangus true:)请回答这个问题执行此操作将停止侦听keyevent dpad_center作为onClick@ArmasCyndromic确切地问题中的问题就解决了。
return false;