下面是我正在使用的代码。当按下 Enter 键时,它会拦截(消耗)按键并改为单击屏幕上的按钮。它在我的摩托罗拉安卓手机上运行良好,硬件键盘和屏幕键盘都可以。它也适用于 Eclipse/ADT 中的 Galaxy Nexus Android 虚拟设备。但它不适用于 Eclipse/ADT 中的 Nexus One Android 虚拟设备。有谁知道为什么会这样?我担心有 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;
}
});