Android中在有TabHost情况下,OnKeyDown不能后退的解决办法
来源:互联网 发布:完美形态知乎 编辑:程序博客网 时间:2024/05/04 23:39
最近在做一个项目,其中用到了TabActivity,想截取OnKeyDown事件来提示用户退出程序在api lever 5以上有OnBackPressed重载函数,可以达到同样的效果。
但是我一直没有成功,调试程序发现,因为TabActivity压根没有获取我按后退的事件,根本没有捕获OnKeyDown事件,弄了好久,我的退出提示代码是这样子写的:
@Overridepublic 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中在有TabHost情况下,OnKeyDown不能后退的解决办法
- 在有TabHost控件的页面,解决onKeyDown方法不能拦截KeyEvent.KEYCODE_BACK事件
- 在有TabHost控件的页面,解决onKeyDown方法不能拦截KeyEvent.KEYCODE_BACK事件
- tabhost里不响应onkeydown的解决办法
- android中关于tabhost的返回键处理方法 onkeydown事件无效
- Android如何在不继承TabActivity的情况下使用TAbHost
- mainFrame 的table在width="100%"的情况下仍不能满屏的解决办法
- android 在自定义的view中接收不到onkeydown事件
- 也就是说在有异步回调函数的情况下,方法的返回值基本都是不能使用的。【也有特殊情况】
- android升级到AppCompat v22.1.0后,onKeyDown 和 onKeyUp menu按键不能被触发的解决办法
- ViewFlipper下,通过onKeyDown不能获取enter键的解决方法
- Android WebView的前进、后退、与刷新以及OnkeyDown事件 和 OnBackPressed方法注意点
- Android WebView的前进、后退、与刷新以及OnkeyDown事件 和 OnBackPressed方法注意点
- android中onKeyDown()事件的分析
- android 中OnKeyDown的事件获取顺序
- 使用tabhost后按返回键 监听不到 onKeyDown 解决办法
- 在本地仓库有jar包的情况下,Maven工程依然报错Missing jar包的解决办法
- cursor pointer 在 position absolute 情况下 IE 中失效的解决办法
- android网文
- JSON教程 - 入门篇
- android中的后退键——onBackPressed()的使用
- MFC改变对话框中静态文本的字体大小
- platform_device&&platform_driver
- Android中在有TabHost情况下,OnKeyDown不能后退的解决办法
- 大数模板
- 无法连接到数据库实例: ORA-12519: TNS: 没有找到适用的服务处理程序 (DBD ERROR: OCIServerAttach)。
- Linux scp 使用详解
- 闪存卡参数
- iphone开发 服务器、android、iphone音频文件播放和传输 amr和wav的转换
- 黑马程序员-java基础 面向对象的多态
- Objective-C最基础语法之基础类型
- 使用bcp进行备份数据库