SurfaceView KeyEvents

时间:2010-09-16 15:50:34

标签: android keyboard surfaceview

我正在将我的彩色计算机模拟器移植到Android上取得很大进展。它适用于带有硬件键盘的Droid 2,但我无法使用虚拟键盘将KeyEvents发送到我的SurfaceView子类。我在这里的每个建议的视图中包含了setFocusable(true),setFocusableInTouchMode(true),requestFocus()和requestFocusFromTouch()。使用虚拟键盘时不会调用onKeyUp和onKeyDown方法。我尝试了(虽然我不完全确定它是必要的)实现onCreateInputConnection并返回一个新的BaseInputConnection(以及相应的onCheckIsTextEditor)但没有成功。

我正在使用HTC Incredible进行测试。任何帮助或示例代码将不胜感激。

感谢。

1 个答案:

答案 0 :(得分:0)

问题完全出在仿真代码中。当使用虚拟键盘时,按键事件紧接着是一个键清除我的键阵列,然后仿真就可以处理结果。真正的键盘不会发生这种情况(无论我输入的速度有多快)。在我找到一篇关于如何在HTC Incredible中使用dev usb驱动程序的博客后,我才发现了这一点。