【ActivityGroup】中按键监听失灵!
来源:互联网 发布:阿里云系统升级 编辑:程序博客网 时间:2024/04/27 14:29
很多朋友都用ActivityGroup 来做底部菜单吧~
我也觉得这个控件很好,自由性比tab好很多。但是确实发现了很多问题:
1.子页面activity的menu不显示。(子页面的按键监听无输出,所以其他按键也无效!)
2. 子页面默认wrap_content布局,无法设置为fill_parent!需根据页面大小动态设置!(这里参考另一篇:http://androidturing.iteye.com/blog/1258839)
3.子页面中的ListView的getView()方法被重复调用多次!导致性能下降。(同样参考:http://androidturing.iteye.com/blog/1258839)
之前第二个问题已经解决,第三个问题是由于第二个问题中 子页面纵向布局为wrap_content而引起的!
今天发现并解决了第一个bug,在activitygroup加上这个:
- @Override
- public boolean onKeyUp(int keyCode, KeyEvent event) {
- if(keyCode==KeyEvent.KEYCODE_MENU) {
- this.getLocalActivityManager().getCurrentActivity().openOptionsMenu();
- }else if(keyCode == KeyEvent.KEYCODE_BACK){
- finish();//可换用自己的退出提示
- }
- return super.onKeyDown(keyCode, event);
- }
- @Override
- public boolean onKeyUp(int keyCode, KeyEvent event) {
- if(keyCode==KeyEvent.KEYCODE_MENU) {
- this.getLocalActivityManager().getCurrentActivity().openOptionsMenu();
- }else if(keyCode == KeyEvent.KEYCODE_BACK){
- finish();//可换用自己的退出提示
- }
- return super.onKeyDown(keyCode, event);
- }
ActivityGroup中监听返回按键
如果你想使用ActivityGroup来统一管理Activity的话,当然首先这是一种很好的方法,但是如果你想在ActivityGroup里面拦截返回按键来进行统一管理的话,直接覆写onKeyDown方法是行不通的了哦,但是你可以覆写dispatchKeyEvent方法来实现,例如,现在我点击返回按钮要提示是否退出程序,代码如下:@Override public boolean dispatchKeyEvent(KeyEvent event) { if (event.getKeyCode() == KeyEvent.KEYCODE_BACK && event.getAction() == KeyEvent.ACTION_UP) { AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setTitle("提示"); builder.setMessage("您确定要退出吗?"); builder.setPositiveButton("退出", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // 退出程序 Intent exitIntent = new Intent(Intent.ACTION_MAIN); exitIntent.addCategory(Intent.CATEGORY_HOME); startActivity(exitIntent); YeedoUIActivity.this.finish(); } }); builder.setNegativeButton("取消", null); builder.show(); return true; } return super.dispatchKeyEvent(event); }
- 【ActivityGroup】中按键监听失灵!
- ActivityGroup 中按键监听失灵![BUG解决]
- 【Android】 ActivityGroup中监听返回事件
- 在ActivityGroup中怎么监听 Home 键?
- Android ActivityGroup 中监听返回事件
- Android ActivityGroup 中监听返回事件
- 虚拟机(vmware)linux中ctrl按键失灵 解决办法
- TabActivity中监听按键响应
- TabActivity中监听按键响应
- TabActivity中监听按键响应
- 键盘按键失灵的修复
- mac笔记本部分按键失灵
- intlij idea 很多按键失灵
- ActivityGroup下捕捉按键事件
- Android中蓝牙设备按键的监听
- TabActivity和Activity中按键的监听
- Cocos2dx+lua中调用按键监听
- TabActivity中监听按键响应(返回键)
- crack the code interview 2.4
- 设计模式实战应用之二:观察者模式
- 微策略面试题:在旋转后的数组中查找元素(二分查找)
- 简单定时器Demo
- LA 3485Bridge
- 【ActivityGroup】中按键监听失灵!
- 写程序结果
- java swing添加侦听事件的一般方法
- WinCE 5.0 WIFI 无线网卡的配置和建立连接
- NSTimer你真的会用了吗!!!
- 我如何把薪水从 50人民币/天 提升到 100美元/小时的 (1)
- 日志操作利器log4cxx 分享
- 第十五周-(项目二)杨辉三角。
- HDU 4612(缩点+求桥+求树的直径)