我有一个简单的edittext,我已添加到我的布局中。我在onCreate方法中添加了一个简单的OnKeyListener:
final EditText simpleEditText = (EditText) findViewById(R.id.editText1);
simpleEditText.setOnKeyListener(new OnKeyListener() {
@Override
public boolean onKey(View arg0, int arg1, KeyEvent arg2) {
System.out.println("HELLO");
return false;
}
});
当应用程序启动时,一切正常。对于按下的每个键,HELLO打印两次 - 一次用于DOWN操作,一次用于UP操作。
现在,当我用鼠标单击edittext时,edittext不再运行onKey方法中的代码。我究竟做错了什么?在用户单击edittext后,我仍然希望收到关键事件。我不关心鼠标点击,我只是用它来重新定位光标。重新定位光标后,不再注册键事件。
请参阅附图以了解更多信息。
由于 ZAMIL
答案 0 :(得分:1)
As per android API,onKey仅对按下的物理键。您可能需要考虑使用OnClickListener进行鼠标单击。这是API documentation。
答案 1 :(得分:0)
点击事件不是关键事件。除了关键事件之外,您不会(也不应该)接收onKey事件。