以下は私が使用しているコードです。Enter キーが押されると、キーの押下を傍受 (消費) し、代わりに画面上のボタンをクリックします。私の Motorola Android フォンでは、ハードウェア キーボードとオンスクリーン キーボードの両方で問題なく動作します。また、Eclipse/ADT の Galaxy Nexus Android 仮想デバイスでも問題なく動作します。ただし、Eclipse/ADT の Nexus One Android Virtual Device では機能しません。その理由を知っている人はいますか?Nexus One を持っている人が私のアプリをダウンロードして動作しないのではないかと心配しています。
PS: 他のいくつかの onKey メソッド (onKeyUp、onKeyDown、ACTION_UP を使用) も試しましたが、Nexus One ではどれも機能しませんでした。
MyEditText.setOnKeyListener(new EditText.OnKeyListener()
{
public boolean onKey(View v, int keyCode, KeyEvent event)
{
if ((event.getAction() == KeyEvent.ACTION_DOWN) && (keyCode == KeyEvent.KEYCODE_ENTER))
{
MyButton.performClick();
return true;
}
return false;
}
});