Edittext 帮助 - onKeyListener 不起作用
Posted
技术标签:
【中文标题】Edittext 帮助 - onKeyListener 不起作用【英文标题】:Edittext help - onKeyListener doesn't work 【发布时间】:2012-02-17 02:56:03 【问题描述】:我有一个简单的编辑文本,已添加到我的布局中。我在 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 方法中的代码。我究竟做错了什么?在用户单击编辑文本后,我仍然希望接收关键事件。我不在乎鼠标点击,我只是用它来重新定位光标。光标重新定位后,不再注册按键事件。
请查看附件图片以了解更多信息。
谢谢 扎米尔
http://i.stack.imgur.com/j2DP7.jpg
【问题讨论】:
【参考方案1】:As per android API,onKey 仅对按下的物理键起作用。您可能需要考虑使用 OnClickListener 进行鼠标单击。这是 API documentation。
【讨论】:
我仍然希望在用户单击编辑文本后接收关键事件。我不在乎鼠标点击,我只是用它来重新定位光标。光标重新定位后,不再注册按键事件。【参考方案2】:点击事件不是关键事件。除了关键事件之外,您不会(也不应该)收到 onKey 事件。
【讨论】:
我仍然希望在用户单击编辑文本后接收关键事件。我不在乎鼠标点击,我只是用它来重新定位光标。光标重新定位后,不再注册按键事件。以上是关于Edittext 帮助 - onKeyListener 不起作用的主要内容,如果未能解决你的问题,请参考以下文章
android 给 edittext 加 onkeylistener 删除键就没有效果了