「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 回押すと機能します。それはなぜですか、どうすれば修正できますか?