android 按键事件小结

(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);
          }

你可能感兴趣的:(按键事件)