6

「Enter」キーを押したユーザーに応答したい 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) では、「Enter」キーを押しても OnKeyListener はまったく起動しませんが、「Enter」キーを 2 回押すと機能します。それはなぜですか、どうすれば修正できますか?

4

2 に答える 2

7

電話のオートコレクトでは、「Enter」を 1 回押すと、単語のスペル候補が選択されます。2 回目に「Enter」を押すと、キーの押下がアプリに送信されます。これは機能であって、バグではありません。

于 2012-08-15T14:36:58.470 に答える
0

デバイス用の AVD (Desire HD) を作成して、そこでも問題が発生するかどうかを確認しましたか? あなたのコードは私には見つけられたようです

于 2012-08-07T22:33:45.867 に答える