MyHandler handler = new MyHandler(handlerThread.getLooper()); Message msg = handler.obtainMessage(); /** * 将Message对象发送到目标对象 * 所谓的目标对象,就是生成该msg对象的handler对象 */ //msg.obj = "Hello world"; Bundle b = new Bundle(); b.putInt("age", 22); b.putString("name", "loulijun"); msg.setData(b);msg.sendToTarget();
public void handleMessage(Message msg) { //String str = (String)msg.obj Bundle b = msg.getData(); int age = b.getInt("age"); String name = b.getString("name"); Toast toast = Toast.makeText(getApplicationContext(), "age="+age+"name="+name, Toast.LENGTH_LONG); toast.show(); Log.d("System.out", "handler所在线程的id:"+Thread.currentThread().getId()); } } }如果是msg.obj,那么可以这样用
msg.obj = "Welcome to china";
然后在handleMessage()方法中用
String str = (String)msg.obj;来获得传递的值
如果使用getData()方法的话,需要用到Bundle对象来传递
Message消息队列中多个数据传递(Bundle)
最新推荐文章于 2022-12-06 03:22:22 发布