老罗Handler(22)各种方式发送handler以及发送更多类型数据给主线程
来源:互联网 发布:c语言完全手册pdf下载 编辑:程序博客网 时间:2024/05/21 17:04
package com.example.handler2;import android.app.Activity;import android.os.Bundle;import android.os.Handler;import android.os.Message;import android.util.Log;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.ImageView;public class MainActivity extends Activity { private Button mButton; private ImageView mImageView; private final int SHOW_LOG = 321; private Handler mHandler = new Handler(){ @Override public void handleMessage(Message msg) { super.handleMessage(msg); Log.d("==xiaoxi",String.valueOf(msg.arg1)); Log.d("==arg2:" ,String.valueOf(msg.arg2)); Log.d("==what:",String.valueOf(msg.what)); Log.d("==obg:",String.valueOf(msg.obj)); Log.d("==char[]",String.valueOf((msg.getData().getCharArray("xiaohong").length))); } }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mButton = (Button)findViewById(R.id.button1); mImageView = (ImageView)findViewById(R.id.imageView1); mButton.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { MyRunnable run = new MyRunnable(); Thread t = new Thread(run); t.start(); } }); } private class MyRunnable implements Runnable{ @Override public void run() { //方式一// Message msg = Message.obtain();// msg.obj = "xiaoxi";// msg.arg1 = 1;// msg.arg2 = 2;// msg.what = SHOW_LOG;// mHandler.sendMessage(msg); //方式二,比较简便// Message msg = Message.obtain(mHandler);// msg.arg1 = 1;// msg.arg2 = 2;// msg.obj = "xiaoming";// msg.what = SHOW_LOG;// msg.sendToTarget(); //方式三:存储比较复杂的数据类型char类型boolean类型StringArray类型等等 Message msg = Message.obtain(mHandler,SHOW_LOG,"xiaohong"); Bundle data = new Bundle(); data.putCharArray("xiaohong", new char[]{'h', 'o' ,'n','g'}); msg.setData(data); msg.sendToTarget(); } }}
结果:
0 0
- 老罗Handler(22)各种方式发送handler以及发送更多类型数据给主线程
- 老罗(18)发送Handler更新ProgressBar
- 普通类中用handler发送数据到主线程去处理
- Handler(15):工作线程向主线程发送消息
- 工作线程中利用handler向主线程发送消息
- Handler从主线程向子线程发送消息
- 19 Handler 子线程向主线程发送信息
- 19 主线程向子线程发送信息(handler)
- Handler(2)--主线程向自身消息队列发送消息
- Handler(2)--主线程向自身消息队列发送消息
- Handler详解系列(三)——在子线程中给主线程的消息队列发送消息
- Handler的定义:主要接受子线程发送的数据, 并用此数据配合主线程更新UI.
- 用handler子线程向主线程发送消息和主线程向子线程发送消息
- Looper、Handler应用---实现主线程向子线程发送消息
- Handler消息传递机制(四)子线程接收主线程发送的消息
- handler底层是如何将消息从子线程发送到主线程
- Looper、Handler应用---实现主线程向子线程发送消息
- Looper机制:主线程中利用handler向工作线程发送消息
- 使用基于ThinkPHP3.2.3的ThinkAdmin创建手机电脑通用的表白墙(九)后台实现:整体概述
- setWindowFlags(Qt::FramelessWindowHint);使得窗体透明的问题解决
- 第一次C++作业-2
- 随堂笔记160308继承
- Java开发中的23种设计模式详解(转)
- 老罗Handler(22)各种方式发送handler以及发送更多类型数据给主线程
- 算法基础:递归---汉诺塔问题
- 最短路径Dijkstra算法
- 找到Qt程序所有依赖库的简便方法,带翻译文件
- 迭代器模式
- plsql语句块 for 遍历游标
- 整体流程
- 菜鸟不要怕,看一眼,你就会用GCD,带你装逼带你飞
- Lock与synchronized 的区别