2012-01-23 31 views
1

我有一个简单的编辑文本,我已经添加到我的布局。我添加了一个简单OnKeyListener如onCreate方法如下:Edittext帮助 - 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都会打印两次 - 一次用于向下动作,一次用于向上动作。

现在当我用鼠标点击edittext时,edittext不再运行我的onKey方法中的代码。我究竟做错了什么?我仍然希望在用户点击edittext后收到关键事件。我不关心鼠标点击,我只是用它来重新定位光标。游标重新定位后,关键事件不再注册。

请参阅附加图片以查看更多信息。

感谢 ZAMIL

http://i.stack.imgur.com/j2DP7.jpg

回答

1

As per android API,安其只能为被按下的物理按键。您可能需要考虑使用OnClickListener进行鼠标点击。这里是API documentation

+0

我仍然希望在用户点击edittext后收到关键事件。我不关心鼠标点击,我只是用它来重新定位光标。游标重新定位后,关键事件不再注册。 – user1137939

0

点击事件不是关键事件。除了关键事件以外,您不会(也不应该)接收onKey事件。

+0

我仍然希望在用户点击edittext后收到关键事件。我不关心鼠标点击,我只是用它来重新定位光标。游标重新定位后,关键事件不再注册。 – user1137939