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

使用ActivityGroup时,如何保存Activity状态、如何使用子Activity的Menu?

 
阅读更多
由于很多朋友觉得,TabHost限制太多,发挥余地不大, 所以都会使用ActivityGroup来代替TabHost。



但是在使用ActivityGroup时,很多朋友可能也碰上了标题中的问题。



下面简单讲一下解决办法。



1. 使用ActivityGroup时,如何保存Activity状态?

其实很简单, 只要像下面这样来加载Activity即可。   

view plainprint?
getLocalActivityManager().startActivity("XXX", new Intent(this, XXX.class)).getDecorView() 

那么又如何让ActivityGroup不保存子Activity的状态呢? 即切换时,直接销毁。

其实只要加一个Flag: Intent.FLAG_ACTIVITY_CLEAR_TOP
,如下:

view plainprint?
getLocalActivityManager().startActivity("YYY", new Intent(this, YYY.class).addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)).getDecorView() 


2 使用ActivityGroup时,如何使用子Activity的Menu?

  其实也很简单,只要在继承ActivityGroup的类中

view plainprint?
@Override 
        public boolean onKeyUp(int keyCode, KeyEvent event) { 
               if(keyCode==KeyEvent.KEYCODE_MENU) { 
                     
                    this.getLocalActivityManager().getCurrentActivity().openOptionsMenu(); 
 
                } 
return super.onKeyDown(keyCode, event); 


onkeyDown  或者 onkeyUp都可以!
分享到:
评论

相关推荐

    Android之ActivityGroup实现Tab分页标签

    本篇文章将详细探讨如何利用ActivityGroup来实现这样的功能,同时也会讲解如何保存Activity状态以及在子Activity中使用Menu。 ActivityGroup是Android早期版本(Android 2.x)中提供的一种特殊类型的Activity,它...

    activitygroup

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

    menu backKey

    3. **`ActivityGroup`与子Activity间通信**:当子Activity中的菜单操作可能会影响到`ActivityGroup`的状态时,可以使用`LocalActivityManager`来传递消息。`LocalActivityManager`提供了`startActivityForResult()`...

    FragmentActivity管理Fragment(碎片)实现底部菜单切换

    上一版本是利用activitygroup实现底部菜单切换,基于现在都不太赞同用,于是简单地利用fragment 来实现了这一效果,IndexActivity为底部菜单的首页,MainFragment 和LoginActivity 都为它的子fragment.底部菜单用的...

    弹出式菜单

    在使用Fragment实现类似`ActivityGroup`的效果时,可以使用`FragmentManager`来添加、替换和管理Fragment。例如: ```java FragmentManager fm = getSupportFragmentManager(); FragmentTransaction ft = fm.begin...

    Android代码规范

    - 使用Button和ActivityGroup实现Tab效果时,确保Button处于选中状态并与对应的Activity关联。 - 为避免冲突,在`drawable`、`layout`、`menu`、`values`等目录下的文件名前面加上前缀。 - 数据处理时一定要进行有效...

    Android典型技术模块开发详解

    16.3 ActivityGroup 16.4 ViewStub 16.5 Bitmap内存溢出 16.5.1 图片预先缩放 16.5.2 普通的图片缩放方法 16.5.3 Dalvik虚拟机的堆内存分配 16.5.4 Bitmap对象及时释放 16.6 多分辨率适应 16.7 本章小结

    android 底部导航栏

    2. 动态反馈:当用户点击某个图标时,底部导航栏应该有明显的视觉反馈,如选中状态的变化,以确认用户操作。 二、实现底部导航栏 1. 使用Material Design库:Google提供了Material Design组件库,其中的`Bottom...

    Android编码命名规范

    11. **Tab效果实现**:使用`Button`与`ActivityGroup`结合`setSelected(true)`实现选中状态与切换效果。 12. **资源命名冲突预防**:通用组件开发时,在`drawable/layout/menu/values`目录下的文件名前加前缀,避免...

Global site tag (gtag.js) - Google Analytics