android tabActivity监听返回键无效

最近项目中用到了tab activity,在首页,我想再按一次再退出app这样的,按照想法就重写返回键监听onkeydown(),本以为可以的,(一直在actitivity中都可以的),谁知道这次没反应,debug发现并没有走,我以为这个返回监听有问题吗,新版本也通过了一个返回键的函数onBackPressed(),这个也是没有效果的。百度了一下,查找到2种解决方案,记录一下:
1.通过重写dispatchKeyEvent(KeyEvent event)函数来解决:
@Override
public boolean dispatchKeyEvent(KeyEvent event) {
if(event.getKeyCode() == KeyEvent.KEYCODE_BACK
&& event.getAction() == KeyEvent.ACTION_DOWN&&
(System.currentTimeMillis() - exitTime) > 2000
){
UIHelper.ToastMessage(this, R.string.toast_dblclick_back_pressed);
exitTime = System.currentTimeMillis();
return true;
}
return super.dispatchKeyEvent(event);
}
本人代码,运行完美解决。
2.在继承Tabactivity的activity照样写onkeydown或者 是onBackPressed(),在每个子activity中的onBackPressed()或者是onkeydown中写上this.getparent().onBackPressed或者是this.getparent().onkeydown();运行成功。

你可能感兴趣的:(学习记录)