2

下面是我正在使用的代码。当按下 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;
      }

   });
4

1 回答 1

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

   });

||也许你应该试试&&

于 2013-06-06T14:33:57.140 回答