TabActivity父Activity控制子Activity
来源:互联网 发布:小米6网络制式 编辑:程序博客网 时间:2024/06/05 22:42
现在很多应用都会用到tabActivity布局,例如:新浪微博等,一般的做法都是在MainActivity中创建几个包含目标Activity的Intent,点击相应的tab会跳转到相应的Activity里面。
很多时候,都需要处理导航tabhost和子Activity的交互,有时候是子Activity控制父Activity的变量或者UI,有时候是反过来,下面介绍怎样在子Activity中控制父Activity的操作和父
Activity中控制子Activity的操作。
一、父Activity控制子Activity
1、遇到一种需求,子Activity是一个listview,需求是当前界面为listview这个界面时,再次点击导航tab,listview回到顶部。导航tab点击事件必须写在父Activity,那么就需要在
父Activity控制子Activity的UI变换,当前界面的Activity对象可以通过getCurrentActivity()得到(注意此时得到的对象是子Activity不是父Activity,虽然此时父Activity即底部导航菜单也在
界面上),然后把改对象强转为子Activity类对象,就可以调用子Activity方法了。代码如下:
- ((SonActivity)(getLocalActivityManager().getCurrentActivity())).moveToTop();
2、第一种方法只适用于在父Activity控制当前子Activity变化,如果需要管理其他几个子Activity行不行呢?答案是可行的:在父Activity中创建list存放子Activity:
- public List<Activity> _sonActivity = new ArrayList<Activity>();
在子Activity中把自身添加进去:
- ((MainActivity)(getParent()))._sonActivity.set(1, this);
使用时:
- for (int i = 0; i < _sonActivity.size(); i++) {
- <span style="white-space:pre"> </span>if (_sonActivity.get(i).getClass().getName().equals("com.your.sonActivity")) {
- FindIndexActivity find = (FindIndexActivity)(_sonActivity.get(i));
- <span style="white-space:pre"> </span>find.refreshView();
- }
- }
- MainActivity _mainActivity = (MainActivity)getParent();
有些人喜欢把数据设成全局的,这样在写代码时确实轻松很多,但是这样也增加了危险性,任何地方都能修改全局代码,这是非常不合逻辑的,建议在可能的情况下,控制
变量的可写范围。如果你有更多好的方法,欢迎推荐。
- TabActivity父Activity控制子Activity
- TabActivity父Activity控制子Activity
- Activity跳转到 TabActivity的子页面
- TabActivity中的一个子Activity跳转到另一个Activity并调用该Activity的函数
- TabActivity中,子activity的数据交互问题
- TabActivity中子Activity相互跳转
- TabActivity中子Activity相互跳转 .
- TabActivity中子Activity相互跳转
- android activity 跳转到 TabActivity
- Android TabActivity中的子Tab Activity 无法正常 bindService 之 解决方法
- Android TabActivity中的子Tab Activity 无法正常 bindService 之 解决方法
- TabActivity 中的activity 设置title无效
- TabActivity中子Activity的跳转问题
- TabActivity和Activity中按键的监听
- TabActivity中的activity跳转实现动画效果
- 当Activity放到TabActivity时,bindService()无效
- Android页面跳转实现方法:activity&TabActivity
- TabActivity通过Intent向Child Activity传值
- JNI 遇到的问题
- 几种数据同步共享方法
- 高性能分布式服务框架Dubbo背景与需求
- CUDA的随机数生成方法
- Interview----判断整数序列是否是二叉搜索树的后序遍历结果
- TabActivity父Activity控制子Activity
- 最短路径Dijkstar算法和Floyd算法详解(c语言版)
- 腾讯共和国 “皇协军” 广泛招募中
- poj2081
- 2014-02-26
- 虚拟化技术加速Android模拟器尝试
- iOS--加载、滑动翻阅大量图片解决方案详解
- 线程同步之mutex和条件变量
- 2014正式开始我的技术之路