




全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
一、 android开发之在activity中控制另一个activity的UI更新 1.在MyAPP中定义属性handlerjava view plaincopyprint?1 package ; 2 3 import .MasterActivity.MyHandler; 4 import android.app.Application; 5 6 /* 7 * 自己实现Application,实现数据共享 8 * author jason 9 */ 10 public class MyAPP extends Application 11 / 共享变量 12 private MyHandler handler = null; 13 14 / set方法 15 public void setHandler(MyHandler handler) 16 this.handler = handler; 17 18 19 / get方法 20 public MyHandler getHandler() 21 return handler; 22 23 24 2、在主activity 中给MyAPP的属性handler赋值java view plaincopyprint?25 Override 26 public void onCreate(Bundle savedInstanceState) 27 28 super.onCreate(savedInstanceState); 29 setContentView(R.layout.main); 30 31 32 mAPP = (MyAPP) getApplication(); 33 handler = new MyHandler(); 34 tv = (TextView) findViewById(R.id.tv); 35 btn_to = (Button) findViewById(R.id.btn_to); 36 37 / 设置监听器 38 btn_to.setOnClickListener(new OnClickListener() 39 Override 40 public void onClick(View v) 41 / 设置共享变量 42 mAPP.setHandler(handler); 43 / 启动另一个Activity 44 Intent intent = new Intent(MasterActivity.this, 45 ToChangeViewActivity.class); 46 startActivity(intent); 47 48 ); 49 50 3、在另一个activity中获取MyAPP中handler进行传值java view plaincopyprint?51 protected void onCreate(Bundle savedInstanceState) 52 super.onCreate(savedInstanceState); 53 setContentView(R.layout.show); 54 55 mAPP = (MyAPP) getApplication(); 56 / 获得该共享变量实例 57 mHandler = mAPP.getHandler(); 58 findViewById(R.id.btn_chang).setOnClickListener(new OnClickListener() 59 60 Override 61 public void onClick(View v) 62 / 发送消息 63 mHandler.sendEmptyMessage(CHANGED); 64 ToChangeViewActivity.this.finish(); 65 66 ); 67 68 二、android开发之如何在两个activity之间传递handler_利用broadcast广播机制其实很简单,就是Broadcast的应用,替换了原来想要通过共享handler解决的思路。代码如下:MainActivity:java view plaincopyprint?69 package jason.broadcastinsteadofhanlderdemo; 70 71 import android.app.Activity; 72 import android.content.BroadcastReceiver; 73 import android.content.Context; 74 import android.content.Intent; 75 import android.content.IntentFilter; 76 import android.os.Bundle; 77 import android.view.View; 78 import android.view.View.OnClickListener; 79 import android.widget.Button; 80 import android.widget.TextView; 81 82 public class MainActivity extends Activity 83 84 TextView textView; 85 Button sButton; 86 87 Override 88 protected void onCreate(Bundle savedInstanceState) 89 super.onCreate(savedInstanceState); 90 setContentView(R.layout.activity_main); 91 textView = (TextView) findViewById(R.id.show); 92 sButton = (Button) findViewById(R.id.startAnother); 93 sButton.setOnClickListener(new OnClickListener() 94 95 Override 96 public void onClick(View v) 97 / TODO Auto-generated method stub 98 startActivity(new Intent(MainActivity.this,AnotherActivity.class); 99 100 ); 101 IntentFilter filter = new IntentFilter(AnotherActivity.action); 102 registerReceiver(broadcastReceiver, filter); 103 104 105 BroadcastReceiver broadcastReceiver = new BroadcastReceiver() 106 107 Override 108 public void onReceive(Context context, Intent intent) 109 / TODO Auto-generated method stub 110 textView.setText(intent.getExtras().getString(data); 111 112 ; 113 114 protected void onDestroy() 115 unregisterReceiver(broadcastReceiver); 116 ; 117 AnotherActivity:java view plaincopyprint?118 package jason.broadcastinsteadofhanlderdemo; 119 120 import android.app.Activity; 121 import android.content.Intent; 122 import android.os.Bundle; 123 import android.view.View; 124 import android.view.View.OnClickListener; 125 import android.widget.Button; 126 127 public class AnotherActivity extends Activity 128 129 public static final String action = jason.broadcast.action; 130 131 Button update; 132 133 Override 134 protected void onCreate(Bundle savedInstanceState) 135 / TODO Auto-generated method stub 136 super.onCreate(savedInstanceState); 137 setContentView(R.layout.another); 138 update = (Button) findViewById(R.id.updateMain); 139 update.setOnClickListener(new OnClickListener() 140 141 Override 142
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年北京市房屋租赁合同全文(合同样本)
- 2025年上半年教师资格证考试面试语文试题附答案
- 2025年大学辅导员考试题库:学生职业生涯规划与职业规划咨询试题
- 复方托吡卡胺滴眼液临床应用考核试题
- 氟维司群注射液临床应用考核试题
- 对乙酰氨基酚混悬滴剂临床应用考核试题
- 2025年初中地理区域地理专项模拟试卷及答案解析
- 2025年高压电工考试题库:基础理论知识应用与拓展
- 2025年大学辅导员招聘考试题库:大学生就业形势分析与应对试题
- 2025年咖啡师职业技能测试卷:咖啡师行业人才需求与招聘试题
- 流程管理某省市场营销MPR+LTC流程规划方案
- 疏浚管线工技能操作考核试卷及答案
- 化工厂实习安全培训课件
- 疏浚清淤工程合同协议书
- 电子电子技术试题及答案
- 2025项目管理考试题及答案
- 五年级篮球培训课件
- 护林员巡护安全知识培训课件
- 辽宁省2025年中考英语真题附答案
- 医院手术室质控体系构建与管理
- 喷涂基础知识培训课件
评论
0/150
提交评论