【转】android之在activity中控制另一个activity的UI更新_如何在activity之间传递handler...
来自:http://blog.csdn.net/jason0539/article/details/18055259
遇到一个问题,需要在一个activity中控制另一个acitivity做一些更新,没想到传递handler的方法,通过以下方式解决。
1.在MyAPP中定义属性handler
1.在MyAPP中定义属性handler
- package jason.com;
- import jason.com.MasterActivity.MyHandler;
- import android.app.Application;
- /**
- * 自己实现Application,实现数据共享
- * @author jason
- */
- public class MyAPP extends Application {
- // 共享变量
- private MyHandler handler = null;
- // set方法
- public void setHandler(MyHandler handler) {
- this.handler = handler;
- }
- // get方法
- public MyHandler getHandler() {
- return handler;
- }
- }
2、在主activity 中给MyAPP的属性handler赋值
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
- mAPP = (MyAPP) getApplication();
- handler = new MyHandler();
- tv = (TextView) findViewById(R.id.tv);
- btn_to = (Button) findViewById(R.id.btn_to);
- // 设置监听器
- btn_to.setOnClickListener(new OnClickListener() {
- @Override
- public void onClick(View v) {
- // 设置共享变量
- mAPP.setHandler(handler);
- // 启动另一个Activity
- Intent intent = new Intent(MasterActivity.this,
- ToChangeViewActivity.class);
- startActivity(intent);
- }
- });
- }
3、在另一个activity中获取MyAPP中handler进行传值
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.show);
- mAPP = (MyAPP) getApplication();
- // 获得该共享变量实例
- mHandler = mAPP.getHandler();
- findViewById(R.id.btn_chang).setOnClickListener(new OnClickListener() {
- @Override
- public void onClick(View v) {
- // 发送消息
- mHandler.sendEmptyMessage(CHANGED);
- ToChangeViewActivity.this.finish();
- }
- });
- }
除了这个方案,又想到了另外一个比较变通的方案,利用Broadcast机制来实现,见地址:http://blog.csdn.net/jason0539/article/details/18075293
转载于:https://www.cnblogs.com/mochaMM/p/5125092.html
【转】android之在activity中控制另一个activity的UI更新_如何在activity之间传递handler...相关推荐
- 【Android】12.3 在当前Activity中获取另一个Activity的返回值
分类:C#.Android.VS2015: 创建日期:2016-02-23 一.简介 在上一节的示例中,通过StartActivity(Intent)方法启动另一个Activity后,这两个Activ ...
- Android筑基——Activity的启动过程之同进程在一个Activity中启动另一个Activity(基于api21)
目录 1. 前言 2. 正文 2.1 Activity类的startActivity()方法 2.2 Instrumentation类的execStartActivity()方法 2.3 Activi ...
- android activity从新打开,【Android开发-8】生命周期,Activity中打开另一个Activity
前言:生命中有不少人陪伴本身走过一辈子中的某段旅程,仅仅是有些人仅仅是某阶段出现,有些人却陪伴本身很是久.就像小学.中学.高中.大学,那些之前觉得会长久拥有的,当经历过天涯各地地忙碌于生活,或如意.或 ...
- Android——怎么在一个 Activity 中销毁另外一个 Activity
1,在Activity中定义静态变量mActivity,并让mActivity等于this public class MainActivity extends AppCompatActivity {p ...
- 在Activity中获取另一个XML文件的控件
最近,我在项目开发中时常遇到一个问题,那就是如何在一个Activity或者Fragment中获取到其他的XML文件呢? 很多时候,我们都需要在一个Activity中去调用另一个xml布局文件,即非当前 ...
- npm中node更新_如何在Node中管理NPM和功能时保持理智
npm中node更新 by Ted Gross 泰德·格罗斯(Ted Gross) 如何在Node中管理NPM和功能时保持理智 (How to keep your sanity while manag ...
- java如何给一个链表定义和传值_如何在CUDA中为Transformer编写一个PyTorch自定义层...
如今,深度学习模型处于持续的演进中,它们正变得庞大而复杂.研究者们通常通过组合现有的 TensorFlow 或 PyTorch 操作符来发现新的架构.然而,有时候,我们可能需要通过自定义的操作符来实现 ...
- mysql触发器 当记录的指定字段发生变化时,更新表中的另外一个字段,或者更新另外一张关联表中关联记录的字段...
2019独角兽企业重金招聘Python工程师标准>>> 注意:语句中出现的old,new,now(),都为数据库自带的关键字,此处不做解释. 两种情况: 第一种:一张表中,更新某条记 ...
- Android fragment 中控制某一个界面全屏与否
项目中,只允许一个界面在横屏的时候,显示是全屏的,竖屏切换回来的时候又需要显示状态栏,所以需要监听横竖屏的状态,还要修改状态栏的隐藏与显示,如下代码: /*** 添加横竖屏监听,隐藏图形的菜单控件,2 ...
最新文章
- leetcode-24 两两交换链表中的节点
- 第二十六课.深度强化学习(一)
- 前端一HTML:七:css初步认识
- VTK:圆锥用法实战
- Ajax.net实现的动态输入项
- 图文+动画讲解排序算法总结!!
- 地磅称重软件源码_地磅称重软件需求梳理的重要性
- Ext.Net学习笔记20:Ext.Net FormPanel 复杂用法
- list scala 当前位置 遍历_Scala学习七之集合了解
- 数据结构-----队列笔记
- 遥感图像场景分类数据集
- 对话深喉:中小App如何突围?(开发者必看)
- excel.h的简单使用
- IDEA如何创建带有 webapp 目录的 maven 项目
- JAVA期末大作业之学生信息管理简洁版系统
- 关于SAXReader 读取文件乱码问题
- velocity源码分析:初始化之日志系统
- 虾皮开店之聊聊回复率你真的懂吗?
- 建立自己的手写笔画图案
- 天弘基金回应在支付宝 “无故扣款”,客户可自行取消
热门文章
- 计算机三级网络操作题,计算机等级考试三级网络技术考试模拟试题
- ad19pcb所有元件都在报错_PLC的线圈输出和置复位,可以混用吗?很多人都会犯这个错误!...
- 哈希运算python实现_一致性哈希算法 python实现
- mybatis多个foreach_使用 Mybatis 的 foreach 批量模糊 like 查询及批量插入
- android dts配置_AndroidLinux关于DTS设备树源码的介绍
- mybatis in集合查询
- 王爽汇编习题 : 给定段地址为0001H,仅通过变化偏移地址寻址,CPU的寻址范围为 ___ 到 ____。
- HTMLCSS课堂笔记
- 大数据24小时:腾讯拟30亿元加码云计算,谷歌母公司Alphabet成立网络安全子公司“编年史”
- 怎么让e-charts折线图只有6个刻度_简单6步,打开图表定制之门