java - setOnKeyListener onKey 不适用于 Eclipse/ADT Android 虚拟设备 - Nexus One

标签 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;
      }

   });

最佳答案

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

   });

也许你应该尝试使用 || 而不是 &&

关于java - setOnKeyListener onKey 不适用于 Eclipse/ADT Android 虚拟设备 - Nexus One,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16964816/

相关文章:

java - 将 ARCore 相机输入绘制到 Unity 纹理上

java - 如何在 Ant 中使用带有 loadproperties 的 Base64 编码?

java - GAE - 未找到元数据

java - 如何将 RDF 转换为字符串

android - 哪个是最适合 Android 应用程序的后端框架?

android - 如何将 SherlockFragmentActivity 与 SlidingMenu 一起使用?

java - Eclipse Mac OS X 调试错误 : "FATAL ERROR in native method: JDWP No transports initialized, jvmtiError=AGENT_ERROR_TRANSPORT_INIT(197)"

java - 发布我的项目时如何解决错误 "No runtime specified. WLS Web Service projects require a runtime to be present for most tooling."?

java - ListView 重复操作

java - 发生错误时无限循环