当前位置: 代码迷 >> Android >> SurfaceView获取焦点也无法监听到键盘事件,这是咋回事
  详细解决方案

SurfaceView获取焦点也无法监听到键盘事件,这是咋回事

热度:61   发布时间:2016-05-01 12:03:54.0
SurfaceView获取焦点也无法监听到键盘事件,这是怎么回事?
我使用SurfaceView进行程序界面的绘制,并在他的构造函数里使用setFocusable(true)获取焦点,然后重载了onKeyDown(int keyCode, KeyEvent event)来处理键盘事件。最后在Activity中使用 setContentView(SurfaceView)来让绘制的内容显示在窗口上。

但是奇怪的是,SurfaceView无法获得键盘事件,键盘事件还是直接发送到Activity中去了。这到底怎么回事啊,我都执行获取焦点的语句了,该怎么解决这个问题?

------解决方案--------------------
setContentView(SurfaceView)提到最前试试。
------解决方案--------------------
那你在setFocusable后再requestFocus();