怎么区分处理onkeydown和长按事件? 貌似在dispatchKeyEvent的时候分配事件,但是在dispatchKeyEvent里应该怎么来分配呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 长按事件不是有个方法吗setOnLongClickListener 需要处理onkeydown和onLongClickListener事件 只需要重写这两个方法就OK了~~ 长按事件是需要有载体的,比如长按button,button就是载体,如果你做全局的长按,那可以分派键值,但是这样的话,你只能在onkeyDown 和onKeyUp之间来判断是否是长按 如果要执行长按事件的话,必须先执行event.startTracking(); 然后onKeyLongPress(int, KeyEvent)才能被调到。更多内容 欢迎访问:http://www.drovik.com onkeydown和长按逻辑上不是冲突的吗?onkeydown是按下去时就已经触发了吧?长按是按下去等一会才触发吧?那么,在长按事件触发之前就已经先触发了onkeydown事件了。 是说在dispatchkeyevent里先执行event.startTracking(); 然后才super.dispatchKeyEvent(event)? 先执行super再执行 event.startTracking(); 假定你要执行长按enter键的事件, 你可以这样子做:@Overridepublic boolean onKeyDown(int keyCode, KeyEvent event) { super.onKeyDown(keyCode, event); if(keyCode == KeyEvent.KEYCODE_ENTER){ event.startTracking(); }}@Overridepublic boolean onKeyLongPress(int keyCode, KeyEvent event) { return super.onKeyLongPress(keyCode, event);}这样子你的onKeyLongPress方法就会被执行到了。希望能对你有用! 在 Android手机中,链接一个外部页面,如何只呈现页面的一部分呢? 如何新建一个android pad项目 android 页面中报错求大师指点 请问代码出错的地方 System.loadLibrary限制 求教 关于ANDROID NDK版本 愁人的ANR(求助) android 动态部署,读取运行未安装APK 如何监听耳机按键广播 android socket连接请教 有没有android里面画一个钟表盘的sample code啊 RelativeLayout+include嵌套布局有问题。
onkeydown是按下去时就已经触发了吧?长按是按下去等一会才触发吧?那么,在长按事件触发之前就已经先触发了onkeydown事件了。
先执行super再执行 event.startTracking();
假定你要执行长按enter键的事件, 你可以这样子做:
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
super.onKeyDown(keyCode, event);
if(keyCode == KeyEvent.KEYCODE_ENTER){
event.startTracking();
}
}@Override
public boolean onKeyLongPress(int keyCode, KeyEvent event) {
return super.onKeyLongPress(keyCode, event);
}这样子你的onKeyLongPress方法就会被执行到了。希望能对你有用!