最近在做一个项目,其中用到了TabActivity,想截取OnKeyDown事件来提示用户退出程序在api lever 5以上有OnBackPressed重载函数,可以达到同样的效果。
但是我一直没有成功,调试程序发现,因为TabActivity压根没有获取我按后退的事件,根本没有捕获OnKeyDown事件,弄了好久,我的退出提示代码是这样子写的:
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
new DialogUtil().Exitdialog(HomeActivity.this);
return true;
}
return false;
}
其中new DialogUtil().Exitdialog(HomeActivity.this);是弹出一个提示窗口!代码如下:
public void Exitdialog(Context ctx) {
AlertDialog.Builder builder = new Builder(ctx);
View exitV=LayoutInflater.from(ctx).inflate(R.layout.exitdialog, null);
builder.setView(exitV);//设定对话框显示的View对象
builder.setPositiveButton(R.string.app_exit_ok,
new android.content.DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
//AccoutList.this.finish();
//System.exit(1);
android.os.Process.killProcess(android.os.Process.myPid());
}
});
builder.setNegativeButton(R.string.app_exit_cancle,
new android.content.DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
});
builder.create().show();
}
发现在自己的代码也没有写错,开是网上查了好久终于有了点头绪了,解决了!原来是这样子的,我的后退事件被我Tab页的子Activity截取了
于是我在子activity中重载OnKeyDown函数,果然如我所料,成功了!
注本文部分内容转载自http://www.eoeandroid.com/thread-83202-1-1.html
分享到:
相关推荐
android中fragment实现tabhost标签切换效果
Android 嵌套TabHost示例. 两层TabHost嵌套,实现的效果类似网页上的二级菜单栏。
Android fragment 内部嵌套tabhost组件 详情请见: http://blog.csdn.net/singleton1900/article/details/27087833
android-->tabHost 源码
很多情况下,我们需要用到标签,类似于微末下面的标签效果,直接使用系统默认的往往不能满足项目的需求,就需要我们自定义一个TabHost。下面我把在项目的实现的效果分享给大家,希望能帮助需要的朋友!
安卓Android源码——嵌套TabHost示例.zip
Android实现tabHost控件自定义页签页面源码
Android编程之Intent_TabHost源码演示,自定义的Tabhost(内含源码),学习制作Android软件的TAB标签界面,在电脑上已经很流行的功能,Android手机上当然不能少,这个TabHost源码相对简单些,是JAVA转学Android比较...
android Tabhost使用Demo
tabhost原效果并不理想 这里利用button 改善
androidTabhost的使用实例代码,仅供参考
Android Tabhost 实例demo 自定义Tabhost实现实例。
安卓Android源码——ViewPager和Tabhost结合,可滑动的tabhost.rar
android TabHost(标签)的使用 简单实例。
需要导入一下jar包~在libs文件夹中
android 最新的TabHost,不是传统的TabHost,继承了FrameActivity.
Android TabHost ListView初学者的实例代码
最近在使用TabHost的时候遇到了一些奇怪的问题,在这里总结分享备忘一下。
TabHost的使用方法,适合初学者,适合课堂讲授实现模拟显示未接来电、已接来电和拨出电话的选项卡。
Android studio开发,布局TabHost布局 demo,包括修改tab布局: tab栏字体颜色,tab栏大小等布局.