【问题标题】:Edittext help - onKeyListener doesn't workEdittext 帮助 - onKeyListener 不起作用
【发布时间】: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

【问题讨论】:

    标签: android android-widget android-edittext


    【解决方案1】:

    As per android API,onKey 仅对按下的物理键起作用。您可能需要考虑使用 OnClickListener 进行鼠标单击。这是 API documentation

    【讨论】:

    • 我仍然希望在用户单击编辑文本后接收关键事件。我不在乎鼠标点击,我只是用它来重新定位光标。光标重新定位后,不再注册按键事件。
    【解决方案2】:

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

    【讨论】:

    • 我仍然希望在用户单击编辑文本后接收关键事件。我不在乎鼠标点击,我只是用它来重新定位光标。光标重新定位后,不再注册按键事件。
    猜你喜欢
    • 2023-03-05
    • 2016-01-31
    • 1970-01-01
    • 2018-08-06
    • 2014-09-15
    • 1970-01-01
    • 2018-05-27
    • 2012-11-22
    • 2011-11-27
    相关资源
    最近更新 更多