Java setOnKeyListener onKey不适用于Eclipse/ADT Android虚拟设备-Nexus One
下面是我正在使用的代码。 当按下Enter键时,它会截取(使用)按键并单击屏幕上的按钮。 它在我的摩托罗拉安卓手机上运行良好,有硬件键盘和屏幕键盘。 它在Eclipse/ADT中的Galaxy Nexus Android虚拟设备上也可以正常工作。 但它在Eclipse/ADT中的NexusOne Android虚拟设备上不起作用。 有人知道为什么吗? 我担心有人会用NexusOne下载我的应用程序,但它不会工作 PS:我也尝试过其他几种onKey方法(使用onKeyUp、onKeyDown和ACTION_UP),但没有一种能与NexusOne一起使用Java setOnKeyListener onKey不适用于Eclipse/ADT Android虚拟设备-Nexus One,java,android,eclipse,adt,onkeydown,Java,Android,Eclipse,Adt,Onkeydown,下面是我正在使用的代码。 当按下Enter键时,它会截取(使用)按键并单击屏幕上的按钮。 它在我的摩托罗拉安卓手机上运行良好,有硬件键盘和屏幕键盘。 它在Eclipse/ADT中的Galaxy Nexus Android虚拟设备上也可以正常工作。 但它在Eclipse/ADT中的NexusOne Android虚拟设备上不起作用。 有人知道为什么吗? 我担心有人会用NexusOne下载我的应用程序,但它不会工作 PS:我也尝试过其他几种onKey方法(使用onKeyUp、onKeyDown和AC
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;
}
});
也许你应该尝试使用
|
而不是&&
,这并不是说这段代码不起作用,而是说与onKey相关的选项(我已经尝试过)在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;
}
});