TabHost页和子Activity之间的通讯
2015-11-27 16:46
204 查看
发现很多同学在问这个问题
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接收消息
然后在a中写发送消息的
tabhost如何通知a,
如果a是活动activity(这种情况很多见,比如其他tab在多线程执行东西,但是内容需要当前tab实时展现)
那么Activity currentActivity = getCurrentActivity();
if (currentActivity instanceof A) {
((A) currentActivity).你的方法XXX;
}
如果a不是活动activity,那么在a的
@Override
protected void onResume()
中添加逻辑即可
转自:http://www.lxway.com/564064064.htm
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()
中添加逻辑即可
转自:http://www.lxway.com/564064064.htm
相关文章推荐
- ionic初识
- leetcode--merge two sorted lists(java)
- HFTP Guide
- shared_ptr线程安全性分析
- 关于JSP自定义标签的几点说明
- [国嵌攻略][066][ARP协议实现]
- Hibernate createCriteria查询详解
- Bmob文档阅读3-特殊实体BmobUser【用户管理】
- Cocos 图片变灰 倒计时进度条
- WaiZdm主题 wordpress仿牛杂网淘宝客主题
- LAMP一体环境快速安装
- LAMP一体环境快速安装
- LAMP一体环境快速安装
- RStudio Server安装说明
- 二分图 KM算法应用
- JSP自定义标签开发入门
- .NET 序列化成XML, 并且格式化
- 加载页面遮挡耗时操作任务页面--第三方开源--AndroidProgressLayout
- 最优灌溉
- 心有所想,念念不忘