setOnKeyListener onKey无法使用Eclipse / ADT Android虚拟设备 - Nexus One

时间:2013-06-06 14:30:29

标签: java android eclipse adt onkeydown

以下是我正在使用的代码。 当按下Enter键时,它会截取(消耗)按键并单击屏幕上的按钮。 它在我的摩托罗拉Android手机上运行良好,包括硬件键盘和屏幕键盘。 它也适用于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;
      }

   });

1 个答案:

答案 0 :(得分: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;
      }

   });

也许您应该尝试使用||代替&&