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

  • 相关阅读:
    leetcode 实现-168.Excel表列名称
    leetcode 只出现一次的数字
    leetcode 67. 二进制求和
    SQl注入测试用例
    工具使用——VMware安装及使用
    Spring基础20——AOP基础
    工具使用——IDEA常用的几种插件
    Spring基础19——Spring中几种注解的区别
    Spring基础18——通过注解配置bean之间的关联关系
    Spring基础17——使用注解来配置Bean
  • 原文地址:https://www.cnblogs.com/zhujiabin/p/4258914.html
Copyright © 2011-2022 走看看