现在的位置: 首页 > 综合 > 正文

ViewFlipper下,通过onKeyDown不能获取enter键的解决方法

2013年12月15日 ⁄ 综合 ⁄ 共 869字 ⁄ 字号 评论关闭

安卓电视盒软件定制:www.dfsuiren.com

在ViewFlipper下,通过onKeyDown不能获取enter键。这个问题,搞晕我好几天了。在ViewFlipper的方法里应该在onKeyDown之前获取到了enter键。然后直接跳过onKeyDown方法。最后我使用dispatchKeyEvent,重写这个方法,就可以获取enter键。

 @Override 
    public boolean dispatchKeyEvent(KeyEvent event) { 
        if(event.getKeyCode() == KeyEvent.KEYCODE_DPAD_CENTER ) { 
            //TODO 代码    
           Intent video_intent1 = apk.get_desk_intent(1);
           if(video_intent1!= null)
           startActivity(video_intent1);
            return true;//注意这儿返回值为true时该事件将不会继续往下传递,false时反之。根据程序的需要调整  
        } 
        return super.dispatchKeyEvent(event); 
    }

dispatchKeyEvent和onKeyDown关系:

当键盘按下时 
首先触发dispatchKeyEvent
然后触发onUserInteraction
再次onKeyDown
如果按下紧接着松开,则是俩步
紧跟着触发dispatchKeyEvent
然后触发onUserInteraction
再次onKeyUp

dispatchKeyEvent是做分发的工作,如果你想要onKeyDown还可以接收到应该这样实现

public boolean dispatchKeyEvent(KeyEvent event){ 
            return super.dispatchKeyEvent(event); 
    }

抱歉!评论已关闭.