Android onKeyListener on EditText only responds to "Enter" key when pressed twice

Viewed 9196

I have an EditText that I want to respond to a user pressing the "Enter" key. Here is the relevant code:

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;
        }
    });

When I run this on my tablet (Toshiba Thrive), it works perfectly. However, on my phone (HTC Desire HD), the OnKeyListener doesn't fire at all when the "Enter" key is pressed... but works when "Enter" is pressed a second time. Why is that, and how can I fix it?

2 Answers
Related