Android的Handler几种常见的传值方式
2012-11-18 15:24:45 来源:WEB开发网核心提示:package com.handlerThread;import android.app.Activity;import android.os.Bundle;import android.os.Handler;import android.os.HandlerThread;import android.os.Loope
package com.handlerThread; import android.app.Activity; import android.os.Bundle; import android.os.Handler; import android.os.HandlerThread; import android.os.Looper; import android.os.Message; public class handlerThread2 extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); //System.out.println("activity线程ID:"+Thread.currentThread().getId()); HandlerThread handlerThread = new HandlerThread("handlerThread"); handlerThread.start(); MyHandler handler = new MyHandler(handlerThread.getLooper()); Message msg = handler.obtainMessage(); //msg.arg1 = 123;//传递整型数据 //msg.obj = "asd";传递object类型 //利用bundle对象来传值 Bundle b = new Bundle(); b.putInt("ID", 12); b.putString("name", "thinkpad"); msg.setData(b); msg.sendToTarget(); } class MyHandler extends Handler { public MyHandler() { super(); } public MyHandler(Looper looper) { super(looper); } @Override public void handleMessage(Message msg) { super.handleMessage(msg); //int args = msg.arg1; //String s = (String)msg.obj; //获取bundle对象的值 Bundle b = msg.getData(); int id = b.getInt("ID"); String name = b.getString("name"); System.out.println("id is "+id+", name is "+name); //System.out.println("handler线程ID:"+Thread.currentThread().getId()); } } }
运行结果
那么,bundle具体是个什么东西呢,我们来看一下官方的解释
- ››Android 当修改一些代码时,使用什么编译命令可以最...
- ››Android 如何添加一个apk使模拟器和真机都编译进去...
- ››Android 修改Camera拍照的默认保存路径
- ››Android 如何修改默认输入法
- ››android开发中finish()和System.exit(0)的区别
- ››Android手势识别简单封装类
- ››android中查看项目数字证书的两种方法
- ››Android中获取IMEI码的办法
- ››android 相机报错 setParameters failed
- ››Android重启运用程序的代码
- ››Android为ListView的Item设置不同的布局
- ››android bitmap与base64字符串的互相转换
更多精彩
赞助商链接