• Handler的使用(二)


    main.xml:

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:orientation="vertical"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        >
    <TextView  
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="@string/hello"
        />
    </LinearLayout>

    HandlerTest2.java:

    public class HandlerTest2 extends Activity {

        @Override
        protected void onCreate(Bundle savedInstanceState) {
            // TODO Auto-generated method stub
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
            //打印了当前线程的ID
            System.out.println("Activity-->" + Thread.currentThread().getId());
            //生成一个HandlerThread对象,实现了使用Looper来处理消息队列的功能,这个类由Android应用程序框架提供
            HandlerThread handlerThread = new HandlerThread("handler_thread");
            //在使用HandlerThread的getLooper()方法之前,必须先调用该类的start();
            handlerThread.start();
            MyHandler myHandler = new MyHandler(handlerThread.getLooper());
            Message msg = myHandler.obtainMessage();
            //将msg发送到目标对象,所谓的目标对象,就是生成该msg对象的handler对象
            Bundle b = new Bundle();
            b.putInt("age", 20);
            b.putString("name", "Jhon");
            msg.setData(b);
            msg.sendToTarget();
        }
        
        class MyHandler extends Handler{
            public MyHandler(){
                
            }
            public MyHandler(Looper looper){
                super(looper);
            }
            @Override
            public void handleMessage(Message msg) {
                Bundle b = msg.getData();
                int age = b.getInt("age");
                String name = b.getString("name");
                System.out.println("age is " + age + ", name is" + name);
                System.out.println("Handler--->" + Thread.currentThread().getId());
                System.out.println("handlerMessage");
            }
        }
    }

  • 相关阅读:
    Linux下python2.7安装pip
    图片转tfrecords
    Python+argparse+notebook
    Pycharm缺少环境变量+无法获取libcudnn.so.6
    Python手动实现k-means
    手动实现二值化
    Tensorflow+InternalError: Blas GEMM launch failed
    tensorflow-gpu+"Failed to create session"
    Ubuntu16.04+wineQQ+解决版本过低
    /usr/lib/nvidia-384/libEGL.so.1 is not a symbolic link
  • 原文地址:https://www.cnblogs.com/leihupqrst/p/3138204.html
Copyright © 2020-2023  润新知