发现很多同学在问这个问题

1个tabhost对应的类假设是T,假设包含2个子tab,每个是1个activity,假设叫a,b,对应的类假设是A和B

那么有这几个问题

1.a如何调用b的方法,或者说发送消息给b

2.a如何通知tabhost

3.tabhost如何通知a和b

其实2,3解决了,1也就解决了

下面来说其中一种办法(有的人给出了广播的办法,根据实际情况选择吧,这里不多阐述)

a如何通知tabhost,通过message

核心代码是在t中写个handler接收消息

public Handler searchHandler = new Handler() {
public void handleMessage(Message msg) {
Bundle bundle = msg.getData();
// 获得信息
String searchString = bundle.getString("search");
//XXXX逻辑 
}
}

然后在a中写发送消息的

					T t= (T) getParent();
Message message = new Message();
//写逻辑
t.searchHandler .sendMessage(message);

tabhost如何通知a,

如果a是活动activity(这种情况很多见,比如其他tab在多线程执行东西,但是内容需要当前tab实时展现)

那么Activity currentActivity = getCurrentActivity();
if (currentActivity instanceof A) {
           ((A) currentActivity).你的方法XXX;
       }
如果a不是活动activity,那么在a的

@Override
protected void onResume()

中天添加逻辑即可

安卓tabhost和子Activity通信方法的更多相关文章

  1. 安卓---Tabhost实现页面局部刷新--父页子页之间的传值

    TabHost的实现分为两种,一个是不继承TabActivity,一个是继承自TabActivity:当然了选用继承自TabActivity的话就相对容易一些,下面来看看分别是怎样来实现的吧. 我只写 ...

  2. ViewPager中的子Activity无法响应OnActivityResult的解决方法

    ViewPager子Activity通过startActivityForResult()跳转至OtherActivity,OtherActivity回传结果由ViewPager所在的父Activity ...

  3. vue组件之间的通信以及如何在父组件中调用子组件的方法和属性

    在Vue中组件实例之间的作用域是孤立的,以为不能直接在子组件上引用父组件的数据,同时父组件也不能直接使用子组件的数据 一.父组件利用props往子组件传输数据 父组件: <div> < ...

  4. ActivityGroup、TabHost之子页面不刷新——getLocalActivityManager() 以及intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)用法

    TabHost继承自ActivityGroup,以下不再单独列出. ActivityGroup在第一次创建的时候会完整的执行子Activity或子view的生命周期,但在从其他子activity或子v ...

  5. 退出多个activity的方法

    1.使用List集合方式 用list保存activity实例,然后逐一干掉 import java.util.LinkedList; import java.util.List; import and ...

  6. ActivityGroup里面装的子Activity不执行OnActivityResult()的解决办法

    转自http://blog.csdn.net/snakewarhead/article/details/7976831 tab activity 中调用startActivityForResult 以 ...

  7. 安卓第九天笔记-Activity

    安卓第九天笔记-Activity 1.创建Activity 一个界面对应一个activity 创建一个Activity  1.写一个JAVA类,继承Activity publicclass CalcA ...

  8. Android 子activity关闭 向父activity传值

    使用startActivity方式启动的Activity和它的父Activity无关,当它关闭时也不会提供任何反馈. 可变通的,你可以启动一个Activity作为子Activity,它与父Activi ...

  9. 关于Fragment与Fragment、Activity通信的四种方式

    一直想总结一下Fragment与Fragment.Activity通信的问题,今天有时间一共总结了三种,权当抛砖引玉,如果大家还有更好的方式来实现Fragment和Fragment.Activity的 ...

随机推荐

  1. volatile举列说明const

    1.即使本程序中虽然不改变这种类型的值,但别的比如中断程序可能会改变这个值,加上volatile,编译器不优化,每次都重新访问这个值做判断 2.如 unsigned char flag = 1; in ...

  2. SQL 标准中的四种隔离级别

    READ UNCOMMITED(未提交读) 在RERAD UNCOMMITED级别,事务中的修改,即使没有提交,对其他事务也都是可见的.事务可以读取未提交的数据,这也成为脏读(Dirty Read). ...

  3. Linux下Tomcat的安装配置 去掉应用名称

    http://blog.csdn.net/zhuying_linux/article/details/6583096/ Tomcat下为每个Web应用配置不同的访问端口 http://www.linu ...

  4. jQuery验证表单格式

    工作之余整理一些工作中编写的代码,记录自己工作中的技术要点,便于自己记忆已经整合.以下是关于此jQuery验证的一些标记以及使用方法: 整个js代码都放入jquery_validate_1.1.0.j ...

  5. Log4net从下载到使用例子

    一.首先下载log4net.dll   http://pan.baidu.com/s/1gdigrwJ 二.添加log4net引用 三.代码: using System; using System.C ...

  6. replace 全局替换 和 数组去空

    <script> /*var str = 'a,b,dhhhh,d'; str = str.replace(/h/g,'j'); alert(str);*/ </script> ...

  7. android中handler使用应该注意的问题(解决由handler引起的OOM内存泄漏)

    最近,在项目过程中频繁的使用handler处理一些ui线程上的操作,以及使用handler的postdealy.然而使用过后却不对handler进行处理,进而产生了内存溢出现象,通过google,发现 ...

  8. VisualStudio中的编辑后期生成事件

    在visual studio中加入项目文件,也就是引用外部文件,比如在tools\options中的show directions for中选择include files,我们需要引用项目(solut ...

  9. yii 的mvc工作流

    Yii 使用了 Web 开发中广泛采用的模型-视图-控制器(MVC)设计模式. MVC的目标是将业务逻辑从用户界面的考虑中分离,这样开发者就可以更容易地改变每一部分而不会影响其他. 在 MVC中,模型 ...

  10. !!!!OpenWrt系列教程汇总

    OpenWrt FAQ https://dev.openwrt.org.cn/wiki/faqs OpenWrt编译教程 完全新手教程:openwrt编译全过程(sse) 直接编译出带中文的openw ...