TabActivity重写onKeyDown()方法无响应解决方法
2012-09-03 17:18
567 查看
在正常的Activity中的我们可以响应它的onkeyDown()方法,在这个方法里可以处理一些逻辑,但是在TabActivity中的我们是不能响应onkeyDown方法的,由于TabActivity是一个ActivityGroup,我们在重写它的onKeyDown()方法的时候被tab选项卡的子Activity给拦截了。
正确的做法是重写dispatchKeyEvent(KeyEvent event)方法,如下:
自己定义的方法:
我们就可以处理响应返回键等等功能。
正确的做法是重写dispatchKeyEvent(KeyEvent event)方法,如下:
@Override public boolean dispatchKeyEvent(KeyEvent event) { if (event.getKeyCode() == KeyEvent.KEYCODE_BACK) { if(event.getAction() == KeyEvent.ACTION_DOWN && event.getRepeatCount() == 0){ exitActivity();//这是自己定义的方法 } } return super.dispatchKeyEvent(event); }
自己定义的方法:
public void exitActivity() { //Log.i("i", "tab中的返回键触发了"); AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setTitle("提示"); builder.setMessage("确定要退出吗?"); builder.setPositiveButton("确定", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { finish(); } }); builder.setNegativeButton("取消", null); Dialog dialog = builder.create(); dialog.show();
我们就可以处理响应返回键等等功能。
相关文章推荐
- Android TabActivity中onKeyDown无法响应的解决方法
- android TabActivity 重写dispatchKeyEvent方法 按返回键back 执行两次的解决方法
- CDialog中不响应OnKeyDown的解决方法
- Android Activity切换动画overridePendingTransition 笔记 . 解决切换无响应的方法
- Android TabActivity无法正常bindService解决方法
- Activity继承ActivityGroup后点击onKeyDown(int keyCode, KeyEvent event)方法没反应的解决方法
- TabActivity中onKeyDown无法响应的解决方法
- TabActivity中onKeyDown无法响应的解决方法及连续点击两次退出应用程序
- Activity中对“BACK”后退键后的事件监听处理,重写onKeyDown方法
- Android TabActivity无法正常bindService解决方法
- ViewPager中的子Activity无法响应OnActivityResult的解决方法
- 自定义UIView重写touchesBegan无法响应点击事件的解决方法
- Android TabActivity无法正常bindService解决方法
- 【转】Android TabActivity无法正常bindService解决方法
- Android TabActivity无法正常bindService解决方法
- android tabActivity中 onKeyDown无效解决 退出功能
- Android TabActivity无法正常bindService解决方法
- Android TabActivity无法正常bindService解决方法
- 当点击onBackpress方法或者onKeyDown方法时出现不能响应的问题解决办法
- 当点击onBackpress方法或者onKeyDown方法时出现不能响应的问题解决办法