Handler发送Message
2015-08-21 00:04
239 查看
用Handler更新UI
package activity.cyq.handlermessage; import android.content.res.Resources; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.os.Handler; import android.os.Message; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.widget.Button; import android.widget.ImageView; import android.widget.TextView; import android.widget.Toast; public class MainActivity extends AppCompatActivity { private TextView textView; private Button button; private ImageView imageView; private int[] iamgeId = new int[]{R.drawable.aaa1, R.drawable.aaa3, R.drawable.image1}; private Handler handler = new Handler(new Handler.Callback() { @Override public boolean handleMessage(Message msg) { Toast.makeText(MainActivity.this, "这是Handler的回掉函数", Toast.LENGTH_SHORT).show(); /*如果返回true则终止handler()的执行 ,可用于对message内容进行判断,今儿决定是否继续对messsage的处理*/ return false; } }) { @Override public void handleMessage(Message msg) { super.handleMessage(msg); textView.setText(msg.arg1 + "" + msg.arg2); imageView.setImageBitmap((Bitmap) msg.obj); } }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); textView = (TextView) findViewById(R.id.textView); button = (Button) findViewById(R.id.button); imageView = (ImageView) findViewById(R.id.imageView); /*通过handler.post(Runnable)方法根性UI*/ new Thread() { @Override public void run() { super.run(); /*创建一个Bitmap对象*/ Resources res = getResources(); Bitmap bmp = BitmapFactory.decodeResource(res, R.drawable.aaa1); /*发送Message*/ Message message = new Message(); message.arg1 = 123; message.arg2 = 245; message.obj = bmp; /* arg1 arg2 是int类型数据 obj为object类型数据 */ handler.sendMessage(message); } }.start(); } }
相关文章推荐
- 题目:Maximal Square
- GNOME Linux 桌面入门
- 如何使用 Cachet 部署自承载系统状态页面
- LLVM 五月上海迷你工作坊,欢迎你的到来
- 剖析Python的Tornado框架中session支持的实现代码
- Python编程中的异常处理教程
- Python中条件判断语句的简单使用方法
- Python中for循环和while循环的基本使用方法
- win7系统配置php+Apache+mysql环境的方法
- PHP的Yii框架使用中的一些错误解决方法与建议
- MYSQL5.X重置root密码 (windows系统)
- SpringMVC简单构造restful, 并返回json——(一)
- resin
- vim常用命令
- PHP的Yii框架的基本使用示例
- 使用PHP进行微信公众平台开发的示例
- 详细解读PHP的Yii框架中登陆功能的实现
- jQuery实现大转盘抽奖活动仿QQ音乐代码分享
- 纯javascript实现图片延时加载方法
- jQuery实现的产品自动360度旋转展示特效源码分享