我使用SurfaceView进行程序界面的绘制,并在他的构造函数里使用setFocusable(true)获取焦点,然后重载了onKeyDown(int keyCode, KeyEvent event)来处理键盘事件。最后在Activity中使用 setContentView(SurfaceView)来让绘制的内容显示在窗口上。
但是奇怪的是,SurfaceView无法获得键盘事件,键盘事件还是直接发送到Activity中去了。这到底怎么回事啊,我都执行获取焦点的语句了,该怎么解决这个问题?
------解决方案--------------------
setContentView(SurfaceView)提到最前试试。
------解决方案--------------------
那你在setFocusable后再requestFocus();