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

时间:2012-08-07 22:06:51

标签: android android-edittext keylistener

我有一个EditText,我想回复用户按下"输入"键。以下是相关代码:

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)上,当输入"输入"时,OnKeyListener根本不会触发。键被按下...但是当"输入"第二次按下。为什么会这样,我该如何解决?

2 个答案:

答案 0 :(得分:6)

在手机上使用自动更正功能时,按“Enter”键一次选择单词的建议拼写。第二次按“Enter”键将按键发送到应用程序。这是一个功能,而不是一个错误。

答案 1 :(得分:0)

您是否尝试为您的设备(Desire HD)创建AVD并查看问题是否也出现在那里?您的代码似乎找不到我