(1)碰到一次surfaceview的onclick listener需要点击两次才能生效
原来第一点击是获取焦点 第二次点击才相应时间。
所以只要第一次点击之前 用Onhover去获取到焦点 ,这样就可以一次点击触发onclick回调了
(2)在gridview里面的键盘事件的onkeydown 没有响应。
是因为gridview本身已经重载了onkeydown,所以再在Onkeydown里面是不会响应事件的。
不过可以触发dispatchKeyEvent.因为键盘按键的第一个触发事件就是它。所以可以把在Onkeydown里面想实现的逻辑放在这里实现也是可以的
只要这样就ok
@Override
public boolean dispatchKeyEvent(KeyEvent event) {
if(event.getAction()== KeyEvent.ACTION_DOWN){
switch (event.getKeyCode())
{
case ...:
case KeyEvent.KEYCODE_1:
...
}
return super.dispatchKeyEvent(event);
}