EditText上的onKeyListener仅在按两次“Enter”键时才响应。

6

我有一个EditText,我希望它能响应用户按下“Enter”键。以下是相关代码:

EditText edittext = (EditText) findViewById(R.id.user_query);
edittext.setOnKeyListener(new OnKeyListener() {
    public boolean onKey(View v, int keyCode, KeyEvent event) {
        if ((event.getAction() == KeyEvent.ACTION_DOWN) && (keyCode == KeyEvent.KEYCODE_ENTER || keyCode == KeyEvent.KEYCODE_DPAD_CENTER)) {
            sendMessage(v);
            return true;
        }
        return false;
        }
    });

当我在我的平板电脑(Toshiba Thrive)上运行它时,它可以完美地工作。然而,在我的手机(HTC Desire HD)上,当按下"Enter"键时,OnKeyListener根本没有触发......但是第二次按下"Enter"键时会触发。为什么会这样,我该如何解决呢?

1
我想要实现我的应用程序的实现,即在第一次输入时隐藏我的软键盘。您可以在键盘设置中更改此选项。(c)这不是错误,而是功能。 - macloving
2个回答

7

启用手机自动更正功能后,按一次“Enter”键会选择单词的建议拼写。再次按下“Enter”键将发送按键信息给应用程序。这是一个特性而非问题。


1
在 Android 中,有 1000 多个不按预期工作的事情,它们总是被称为“特性”,而不是“漏洞”。 - StackOverflowed

0
你尝试为你的设备(Desire HD)创建一个AVD并查看是否也在那里出现了问题吗?你的代码在我看来很好。

1
我没有...那会怎么帮助呢? - Kalina

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接