原文:http://blog.csdn.net/jason0539/article/details/18075293

这算是如何在两个activity之间传递handler的解决方案二了,解决方案一见http://blog.csdn.net/jason0539/article/details/18055259

再重复一遍我遇到的问题,就是在MainActivity里面打开AnotherActivity去执行一些操作,相应的改变MainActivity里的一些布局或者执行一些动作,最开始想到的就是把MainActivity的Handler直接传给AnotherActivity,好像不可行,就有了这篇和上一篇文章。

上一篇方案一是通过重写application来在两个activity之间共享Handler的,今天这个方案是通过广播机制解决本来想要通过传递handler来实现的功能,算是Activity之间传递Handler问题的变通方案,

其实很简单,就是Broadcast的应用,替换了原来想要通过共享handler解决的思路。

代码如下:

MainActivity:

[java] view plaincopyprint?
  1. package jason.broadcastinsteadofhanlderdemo;
  2. import android.app.Activity;
  3. import android.content.BroadcastReceiver;
  4. import android.content.Context;
  5. import android.content.Intent;
  6. import android.content.IntentFilter;
  7. import android.os.Bundle;
  8. import android.view.View;
  9. import android.view.View.OnClickListener;
  10. import android.widget.Button;
  11. import android.widget.TextView;
  12. public class MainActivity extends Activity {
  13. TextView textView;
  14. Button sButton;
  15. @Override
  16. protected void onCreate(Bundle savedInstanceState) {
  17. super.onCreate(savedInstanceState);
  18. setContentView(R.layout.activity_main);
  19. textView = (TextView) findViewById(R.id.show);
  20. sButton = (Button) findViewById(R.id.startAnother);
  21. sButton.setOnClickListener(new OnClickListener() {
  22. @Override
  23. public void onClick(View v) {
  24. // TODO Auto-generated method stub
  25. startActivity(new Intent(MainActivity.this,AnotherActivity.class));
  26. }
  27. });
  28. IntentFilter filter = new IntentFilter(AnotherActivity.action);
  29. registerReceiver(broadcastReceiver, filter);
  30. }
  31. BroadcastReceiver broadcastReceiver = new BroadcastReceiver() {
  32. @Override
  33. public void onReceive(Context context, Intent intent) {
  34. // TODO Auto-generated method stub
  35. textView.setText(intent.getExtras().getString("data"));
  36. }
  37. };
  38. protected void onDestroy() {
  39. unregisterReceiver(broadcastReceiver);
  40. };
  41. }

AnotherActivity:

[java] view plaincopyprint?
  1. package jason.broadcastinsteadofhanlderdemo;
  2. import android.app.Activity;
  3. import android.content.Intent;
  4. import android.os.Bundle;
  5. import android.view.View;
  6. import android.view.View.OnClickListener;
  7. import android.widget.Button;
  8. public class AnotherActivity extends Activity {
  9. public static final String action = "jason.broadcast.action";
  10. Button update;
  11. @Override
  12. protected void onCreate(Bundle savedInstanceState) {
  13. // TODO Auto-generated method stub
  14. super.onCreate(savedInstanceState);
  15. setContentView(R.layout.another);
  16. update = (Button) findViewById(R.id.updateMain);
  17. update.setOnClickListener(new OnClickListener() {
  18. @Override
  19. public void onClick(View v) {
  20. // TODO Auto-generated method stub
  21. Intent intent = new Intent(action);
  22. intent.putExtra("data", "yes i am data");
  23. sendBroadcast(intent);
  24. finish();
  25. }
  26. });
  27. }
  28. }

转载于:https://www.cnblogs.com/mochaMM/p/5125099.html

【转】 android之如何在两个activity之间传递handler_利用broadcast广播机制相关推荐

  1. ​Android中如何使用Intent在Activity之间传递对象[使用Serializable或者Parcelable]

    Android中如何使用Intent在Activity之间传递对象[使用Serializable或者Parcelable] 在Android中的不同Activity之间传递对象,我们可以考虑采用Bun ...

  2. Android编程权威指南学习:Activity之间传递参数

    2019独角兽企业重金招聘Python工程师标准>>> 在Android编程中,经常会有多个Activity之间.同Activity的旋转都要进行调用,数据传递的现象.如何理解Act ...

  3. 【Android游戏开发之五】游戏注册界面Demo-实现两个Activity之间的切换与数据交互!...

    今天讲下在Surfaceview中如何实现两个或者多个Activity之间的切换与数据交互,为了更形象一些我做了一个游戏登录界面的demo,其中对于输入界面的布局这些我也是随意写了下,主要是实现功能并 ...

  4. Android Bundle类,通过bundle实现在两个activity之间的通讯

    根据google官方的文档(http://developer.android.com/reference/android/os/Bundle.html) Bundle类是一个key-value对,&q ...

  5. android activity关联,如何实现两个Activity 之间如何通讯

    <转> 今天主要学习了Activity 组件,在这里作一下总结 1,学习如何创建Activity 创建 Activity 要点: (1) 一个Activity就是一个类,并且这个类要继承A ...

  6. Android两个Activity之间的接口回调

    最近在做个项目时需要在一个Activity中监听网络数据是否有更新,然后在另一个activity中更新,涉及到两个activity之间的接口回调,网上找了很多资料总算是弄出来了 首先定义一个监听接口 ...

  7. 大叔也说Xamarin~Android篇~Activity之间传递数组

    大叔也说Xamarin~Android篇~Activity之间传递数组 原文:大叔也说Xamarin~Android篇~Activity之间传递数组 我们在开发应用程序时,不可能只使用一个Layout ...

  8. Activity——两个Activity之间的通信

    目录 两个Activity之间的通信 第一个Activity 第二个Activity 不积跬步,无以至千里:不积小流,无以成江海.要沉下心来,诗和远方的路费真的很贵! 两个Activity之间的通信 ...

  9. Android截屏幕实现,截取屏幕为bitmap,并保存进手机图库,activity之间传递bitmap对象

    Android截屏幕实现,截取超过一屏幕的长图,截取当前显示的一屏幕的图片,截图屏幕内的部分图片,并保存到本地,更新到手机图库中:当然还有一种bitmap在activity之间传递的需求 踩坑-–&g ...

最新文章

  1. SAP S4HANA里委外加工采购功能的变化
  2. Gossip算法原理
  3. u-boot.lds 文件分析
  4. js代码自动排版_接口测试平台代码实现9:菜单常显
  5. Vuex 模块化与项目实例 (2.0)
  6. 从源码分析快速实现对新开源软件的检测
  7. strassen矩阵乘法 java_Strassen 矩阵算法 Java 实现
  8. Nodejs中的this详解
  9. 算法求解方法与思路的总结
  10. [BZOJ 5074]小B的数字
  11. 曲线运动与万有引力公式_高一物理曲线运动万有引力试题
  12. S7-200SMART案例分析——伺服接线
  13. 前端面试 两分钟自我介绍
  14. 卸载一个游戏计算机里还有文件,如何处理pc游戏卸载后留下的残余文件?
  15. YUV420 Planar 和YUV420 Semi-Planar详解
  16. Epoll原理深入分析
  17. 学习项目管理理论后的体会
  18. 为什么很多年轻人说不清楚自己的堂号郡望?家谱修编做好这一点,提高家族凝聚力!
  19. 北航计算机学院网络安全班,2021年北航网络空间安全学院网络空间安全专业目录分数线参考书真题及考研经验...
  20. 基于PHP+MySQL的服装购物商城

热门文章

  1. 蛮力法在查找算法中的应用(JAVA)--顺序查找
  2. 怎么查询表中BLOB字段的大小
  3. 正在搜索需要的文件_【数澜发布-澜寻】智能内容搜索引擎,释放“机器阅读” 潜力...
  4. mysql sys exec_python - 使用MySQL UDF执行命令-sys_exec不起作用 - 堆栈内存溢出
  5. 大专学的pHp找什么工作,大专毕业能做什么工作 毕业都去干嘛了
  6. pycharm中配置r语言_【R语言】R语言中的循环
  7. php yii 表单title,Yii2.0-ActiveForm表单结构自定义教程
  8. C++ 通讯录设计(二)
  9. 动态代理原理源码分析
  10. springcloud Feign工程熔断器Hystrix