ViewFlipper下,通过onKeyDown不能获取enter键的解决方法
2012-11-16 21:33
267 查看
安卓电视盒软件定制: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);
}
在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);
}
相关文章推荐
- 通过findViewById()方法从layout中获取view并进行相应的转换时提示:"Cannot cast from View to AutoCompleteTextView"的解决办法!
- 通过findViewById()方法从layout中获取view并进行相应的转换时提示:"Cannot cast from View to AutoCompleteTextView"的解决办法!(转+自己错误)
- 解决searchView获取焦点时无法退出,拦截onkeyDown方法
- iOS开发 控件不能绑定拖动到视图ViewController连接的解决方法
- Android动画:解决通过View.getY()获取初始位置为0的问题
- 通过android:descendantFocusability解决listview每一项或项中view无法获取焦点的问题
- 在onCreate()过程中获取View的width和Height为0的4种解决方法
- 通过扩大IE使用内存,解决skyline在IE下模型不能加载的方法
- PHP下通过file_get_contents()方法不能正常获取远程网页内容
- 通过serverlet方式下载文件,不能显示中文的解决方法
- 对于ViewPager中嵌套的Viewpager不能响应滑动事件的解决方法
- JBoss AS 4.2不能通过IP地址访问的解决方法
- 解决在onCreate()过程中获取View的width和Height为0的4种方法
- getview里面的viewholde不能加final解决方法
- 当点击onBackpress方法或者onKeyDown方法时出现不能响应的问题解决办法
- android在代码中获取view宽/高为0解决方法
- android imageview 图片不能正常显示 或不能自适应的解决方法
- Js中不能获取后端通过ModelAndView中的map数据?
- 在有TabHost控件的页面,解决onKeyDown方法不能拦截KeyEvent.KEYCODE_BACK事件