zoukankan      html  css  js  c++  java
  • Android Handler传值方式

    前面介绍handler的时候,也用到过几种传值方式,今天来总结一下,并且重点说一下bundle方式,代码如下:

    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具体是个什么东西呢,我们来看一下官方的解释

  • 相关阅读:
    C#使用Oracle.ManagedDataAccess.dll
    C#调用webservice
    “认证发布”和“获取展示”,如何在 SharePoint 中正确使用 RSS Feed。
    不怕你配置不会,就怕你看的资料不对!MIM 与 SharePoint 同步完全配置指南。
    SharePoint Server 2013 安装篇
    打印机服务不能正常启动
    JAVA课程体系
    学习网
    Oracle Database 11g安装教程
    方法重载
  • 原文地址:https://www.cnblogs.com/zhujiabin/p/4258914.html
Copyright © 2011-2022 走看看