读书人

ViewFlipper上通过onKeyDown不能获取

发布时间: 2012-11-23 00:03:43 作者: rapoo

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

安卓电视盒软件定制: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);
}

读书人网 >移动开发

热点推荐