来自:http://blog.csdn.net/jason0539/article/details/18055259

遇到一个问题,需要在一个activity中控制另一个acitivity做一些更新,没想到传递handler的方法,通过以下方式解决。

1.在MyAPP中定义属性handler

1.在MyAPP中定义属性handler

[java] view plaincopyprint?
  1. package jason.com;
  2. import jason.com.MasterActivity.MyHandler;
  3. import android.app.Application;
  4. /**
  5. * 自己实现Application,实现数据共享
  6. * @author jason
  7. */
  8. public class MyAPP extends Application {
  9. // 共享变量
  10. private MyHandler handler = null;
  11. // set方法
  12. public void setHandler(MyHandler handler) {
  13. this.handler = handler;
  14. }
  15. // get方法
  16. public MyHandler getHandler() {
  17. return handler;
  18. }
  19. }

2、在主activity 中给MyAPP的属性handler赋值

[java] view plaincopyprint?
  1. @Override
  2. public void onCreate(Bundle savedInstanceState) {
  3. super.onCreate(savedInstanceState);
  4. setContentView(R.layout.main);
  5. mAPP = (MyAPP) getApplication();
  6. handler = new MyHandler();
  7. tv = (TextView) findViewById(R.id.tv);
  8. btn_to = (Button) findViewById(R.id.btn_to);
  9. // 设置监听器
  10. btn_to.setOnClickListener(new OnClickListener() {
  11. @Override
  12. public void onClick(View v) {
  13. // 设置共享变量
  14. mAPP.setHandler(handler);
  15. // 启动另一个Activity
  16. Intent intent = new Intent(MasterActivity.this,
  17. ToChangeViewActivity.class);
  18. startActivity(intent);
  19. }
  20. });
  21. }

3、在另一个activity中获取MyAPP中handler进行传值

[java] view plaincopyprint?
  1. protected void onCreate(Bundle savedInstanceState) {
  2. super.onCreate(savedInstanceState);
  3. setContentView(R.layout.show);
  4. mAPP = (MyAPP) getApplication();
  5. // 获得该共享变量实例
  6. mHandler = mAPP.getHandler();
  7. findViewById(R.id.btn_chang).setOnClickListener(new OnClickListener() {
  8. @Override
  9. public void onClick(View v) {
  10. // 发送消息
  11. mHandler.sendEmptyMessage(CHANGED);
  12. ToChangeViewActivity.this.finish();
  13. }
  14. });
  15. }

除了这个方案,又想到了另外一个比较变通的方案,利用Broadcast机制来实现,见地址:http://blog.csdn.net/jason0539/article/details/18075293

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

【转】android之在activity中控制另一个activity的UI更新_如何在activity之间传递handler...相关推荐

  1. 【Android】12.3 在当前Activity中获取另一个Activity的返回值

    分类:C#.Android.VS2015: 创建日期:2016-02-23 一.简介 在上一节的示例中,通过StartActivity(Intent)方法启动另一个Activity后,这两个Activ ...

  2. Android筑基——Activity的启动过程之同进程在一个Activity中启动另一个Activity(基于api21)

    目录 1. 前言 2. 正文 2.1 Activity类的startActivity()方法 2.2 Instrumentation类的execStartActivity()方法 2.3 Activi ...

  3. android activity从新打开,【Android开发-8】生命周期,Activity中打开另一个Activity

    前言:生命中有不少人陪伴本身走过一辈子中的某段旅程,仅仅是有些人仅仅是某阶段出现,有些人却陪伴本身很是久.就像小学.中学.高中.大学,那些之前觉得会长久拥有的,当经历过天涯各地地忙碌于生活,或如意.或 ...

  4. Android——怎么在一个 Activity 中销毁另外一个 Activity

    1,在Activity中定义静态变量mActivity,并让mActivity等于this public class MainActivity extends AppCompatActivity {p ...

  5. 在Activity中获取另一个XML文件的控件

    最近,我在项目开发中时常遇到一个问题,那就是如何在一个Activity或者Fragment中获取到其他的XML文件呢? 很多时候,我们都需要在一个Activity中去调用另一个xml布局文件,即非当前 ...

  6. npm中node更新_如何在Node中管理NPM和功能时保持理智

    npm中node更新 by Ted Gross 泰德·格罗斯(Ted Gross) 如何在Node中管理NPM和功能时保持理智 (How to keep your sanity while manag ...

  7. java如何给一个链表定义和传值_如何在CUDA中为Transformer编写一个PyTorch自定义层...

    如今,深度学习模型处于持续的演进中,它们正变得庞大而复杂.研究者们通常通过组合现有的 TensorFlow 或 PyTorch 操作符来发现新的架构.然而,有时候,我们可能需要通过自定义的操作符来实现 ...

  8. mysql触发器 当记录的指定字段发生变化时,更新表中的另外一个字段,或者更新另外一张关联表中关联记录的字段...

    2019独角兽企业重金招聘Python工程师标准>>> 注意:语句中出现的old,new,now(),都为数据库自带的关键字,此处不做解释. 两种情况: 第一种:一张表中,更新某条记 ...

  9. Android fragment 中控制某一个界面全屏与否

    项目中,只允许一个界面在横屏的时候,显示是全屏的,竖屏切换回来的时候又需要显示状态栏,所以需要监听横竖屏的状态,还要修改状态栏的隐藏与显示,如下代码: /*** 添加横竖屏监听,隐藏图形的菜单控件,2 ...

最新文章

  1. leetcode-24 两两交换链表中的节点
  2. 第二十六课.深度强化学习(一)
  3. 前端一HTML:七:css初步认识
  4. VTK:圆锥用法实战
  5. Ajax.net实现的动态输入项
  6. 图文+动画讲解排序算法总结!!
  7. 地磅称重软件源码_地磅称重软件需求梳理的重要性
  8. Ext.Net学习笔记20:Ext.Net FormPanel 复杂用法
  9. list scala 当前位置 遍历_Scala学习七之集合了解
  10. 数据结构-----队列笔记
  11. 遥感图像场景分类数据集
  12. 对话深喉:中小App如何突围?(开发者必看)
  13. excel.h的简单使用
  14. IDEA如何创建带有 webapp 目录的 maven 项目
  15. JAVA期末大作业之学生信息管理简洁版系统
  16. 关于SAXReader 读取文件乱码问题
  17. velocity源码分析:初始化之日志系统
  18. 虾皮开店之聊聊回复率你真的懂吗?
  19. 建立自己的手写笔画图案
  20. 天弘基金回应在支付宝 “无故扣款”,客户可自行取消

热门文章

  1. 计算机三级网络操作题,计算机等级考试三级网络技术考试模拟试题
  2. ad19pcb所有元件都在报错_PLC的线圈输出和置复位,可以混用吗?很多人都会犯这个错误!...
  3. 哈希运算python实现_一致性哈希算法 python实现
  4. mybatis多个foreach_使用 Mybatis 的 foreach 批量模糊 like 查询及批量插入
  5. android dts配置_AndroidLinux关于DTS设备树源码的介绍
  6. mybatis in集合查询
  7. 王爽汇编习题 : 给定段地址为0001H,仅通过变化偏移地址寻址,CPU的寻址范围为 ___ 到 ____。
  8. HTMLCSS课堂笔记
  9. 大数据24小时:腾讯拟30亿元加码云计算,谷歌母公司Alphabet成立网络安全子公司“编年史”
  10. 怎么让e-charts折线图只有6个刻度_简单6步,打开图表定制之门