【转】android之在activity中控制另一个activity的UI更新_如何在activity之间传递handler
2024-10-19 21:45:50
来自: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
最新文章
- codevs1409 拦截导弹2
- Oracle数据库,非空约束、主键约束、外键约束、唯一约束
- spring security防御会话伪造session攻击
- PostMessager来对子父窗体进行跨域
- spring 启动流程
- redhat enterprixe 5.0 web 服务配置与管理
- Decorator模式
- 高性能javascript及页面注意事项
- 重装mysql步骤
- OpenSSH远程拒绝服务漏洞
- [LeetCode] 033. Search in Rotated Sorted Array (Hard) (C++)
- HTML1高级
- golang 标准库间依赖的可视化展示
- @property的参数
- 不要使用jQuery触发原生事件
- Java weak reference
- 2017-11-03 Fr OCT 球体积的导数为球表面积
- Kubernetes 安装
- Redis深入之对象
- 解决IE下select option不支持display none样式
热门文章
- XFire客户端调用CXF服务端(四)
- C语言中调用运行python程序
- Centos610-FastDFS系列篇
- ora 01704 字符串文字太长
- linux下windows访问samba服务器
- denied: requested access to the resource is denied 解决办法
- js的split() 方法和join()方法
- DataGrid DataGridTextColumn 樣式
- 线段树——I hate it
- Plastic Sprayers Manufacturer - Ingenious Design Of Spray Plastic Bottle