`
libo19881179
  • 浏览: 270423 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

【BUG解决】ActivityGroup 中按键监听失灵!

阅读更多

 

很多朋友都用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);
    }
 

 

 

分享到:
评论
3 楼 b87936260 2013-05-09  
listView设置fill_parent就可以了。子布局不能全屏的话在addView的时候,就上LayoutParams就可以了
2 楼 ndzj981479673 2012-06-12  
这个只能解决menu点击吧,那音量点击之类的呢?
1 楼 jstl1point0 2011-12-06  
我也遇到了这个问题,回去试一下

相关推荐

    用ActivityGroup解决TabHost中多个Activity跳转问题

    Fragment可以像Activity一样拥有自己的UI和生命周期,而且可以在同一个Activity中进行动态添加、删除和替换,解决了ActivityGroup的一些问题,同时也更符合Android设计原则。 在升级到使用Fragment时,需要注意以下...

    ActivityGroup实现Activit栈

    在Android开发中,ActivityGroup是早些版本API中提供的一种特殊类型的Activity,它允许开发者在一个TabHost或者帧布局(FrameLayout)中嵌套多个Activity,从而实现类似iOS中UINavigationController的堆叠管理器效果...

    activitygroup

    `ActivityGroup`在早期的Android版本中被用来解决在同一个栈内管理多个`Activity`的需求,但在Android 3.0(API Level 11)之后,官方推荐使用`Fragment`来替代,因为`Fragment`提供了更灵活且性能更好的解决方案。...

    Android中ActivityGroup的应用

    ActivityGroup的用法,头部和底部为固定布局中间动态显示界面 并在中间布局实现手势滑动效果,自定义SlidingDrawer(抽屉)效果,在ActivityGroup里执行跳转等功能。至于在Android在ActivityGroup里执行跳转详细介绍 ...

    使用ActivityGroup管理Activity

    然而,有时开发者可能需要在同一个栈中管理多个Activity,这时`ActivityGroup`就派上了用场。`ActivityGroup`是早期Android版本(Android 2.x)提供的一种特殊类型的`ViewGroup`,允许在同一个`TabHost`或`...

    android ActivityGroup的demo

    首先,ActivityGroup是Android早期版本(API Level 10及以下)提供的一种解决方案,用于实现在一个Activity中展示多个子Activity的效果。然而,自Android 3.0(API Level 11)起,官方推荐使用Fragment替代...

    使用ActivityGroup来切换Activity和Layout

    在Android开发中,有时我们需要在一...尽管在新的Android开发中不推荐使用,但在某些特定场景下,它仍能提供一种解决方案。不过,为了保持代码的可维护性和兼容性,开发者应优先考虑使用`Fragment`或其他现代的UI组件。

    Android开发—使用ActivityGroup来切换Activity和Layout.pdf

    在Android开发中,ActivityGroup是一种特殊类型的Activity,它允许开发者在一个Activity内嵌套其他Activity,实现类似TabHost或Fragment的效果,但这是在Android早期版本(API级别较低)中的一种实现方式。...

    ActivityGroup之Activity内跳转和外跳转

    在处理外跳转时,可能需要重写`onKeyDown()`方法,监听BACK按键事件,以控制返回逻辑: ```java @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK && ...

    ActivityGroup之activity内跳转和外跳转

    5. **外跳转处理**:在子Activity中,当需要跳转到不在ActivityGroup内的Activity时,使用`startActivityForResult()`或`startActivity()`,然后在ActivityGroup中监听并处理结果,以保持返回栈的正确性。...

    ActivityGroup框架

    GroupDemo项目中的修正调用系统Activity的Bug,可能是解决了当在ActivityGroup内部调用系统Activity(如Intent.ACTION_PICK)时,导致的生命周期混乱问题。在这样的情况下,可能需要手动处理启动系统Activity的返回...

    ActivityGroup应用实例

    在Android开发中,ActivityGroup是一种特殊的Activity类型,它允许开发者在一个Activity中嵌套其他Activity,形成多层级的界面结构。这个“ActivityGroup应用实例”应该是一个详细的教程,旨在帮助开发者理解如何...

    gridview+activityGroup实现tab分页

    在Android开发中,创建一个具有分页功能的Tab布局是常见的需求,这通常涉及到GridView和ActivityGroup的结合使用。下面将详细解释这两个组件以及如何利用它们实现Tab分页。 首先,`GridView`是Android的一种视图...

    ActivityGroup和GridView实现标签分页

    在Android开发中,ActivityGroup和GridView是两种常用的组件,它们可以协同工作来实现标签分页的效果,这是一种常见的用户界面设计模式,通常用于展示多个类似内容的页面,让用户通过标签进行切换浏览。本篇将深入...

    tabhost和ActivityGroup的组合使用

    在Android开发中,TabHost和ActivityGroup是两个关键组件,它们常常被用来构建具有标签页切换功能的应用界面。本文将详细讲解如何将这两个组件结合使用,以实现多Activity间的高效跳转和堆栈管理。 首先,TabHost是...

    android activitygroup中edittext无法删除

    现在的项目框架中很少用到activitygroup这种东西,谷歌也标识其为过时的产物了,但是在很多老项目中activitygroup还是普遍存在的,但是随之而来的就是activitygroup下的edittext一旦输入文字后便不能删除。...

    android activitygroup底部菜单

    在Android应用开发中,ActivityGroup是一种特殊的容器,它允许在一个栈结构中管理多个子Activity,常见于早期Android版本(低于Android 3.0)的Tab布局或者自定义导航栏设计中。ActivityGroup的主要目的是实现类似...

    TabHost, ActivityGroup 的使用例子

    在Android开发中,TabHost和ActivityGroup是两个重要的组件,它们用于实现复杂的界面布局和交互。TabHost主要用于创建带有标签页的应用界面,而ActivityGroup则允许你在同一个父Activity下管理多个子Activity,使得...

    安卓Android源码——TabHost内嵌ActivityGroup界面管理源码.zip

    在安卓应用开发中,TabHost和ActivityGroup是两种常见的组件,用于实现多页面的导航和管理。本资源“安卓Android源码——TabHost内嵌ActivityGroup界面管理源码.zip”提供了一个实例,帮助开发者理解如何在TabHost中...

    ActivityGroup

    在Android开发中,ActivityGroup是一种比较老的实现多层级界面嵌套的方式,它主要用于API等级较低的Android系统。ActivityGroup是android.app.LocalActivityManager的容器,允许在一个Activity中管理多个子Activity...

Global site tag (gtag.js) - Google Analytics