• android学习9——Handler简单用法


    Handler用来发消息和处理消息.典型的用法是更新界面.android不允许在子线程里面更新界面,通常是把Handler传到子线程中,在子线程里通过sendEmptyMessage函数发消息.Handler的handleMessage函数响应消息,实现更新界面.
    下面看一个例子.Handler的定义如下:

    public class PlayHandler extends Handler {
        private ImageView imageView;
        int currentImageId = 0;
        private int[] imageIds = new int[] {
                R.drawable.java,
                R.drawable.ee,
                R.drawable.ajax,
                R.drawable.xml,
                R.drawable.classic
        };
        public PlayHandler(ImageView imageView) {
            this.imageView = imageView;
        }
        @Override
        public void handleMessage(android.os.Message msg) {
            if (msg.what == Message.PLAY) {
                imageView.setImageResource(imageIds[currentImageId++
                        % imageIds.length]);
            }
        }
    }
    

    函数handleMessage用于处理消息,改变ImageView的内容.需要更新的时候只用拿到Handler的实例,调用sendEmptyMessage之类的函数即可.代码如下所示.

    public class PlayTimerTask extends TimerTask {
        private Handler handler;
    
        public PlayTimerTask(Handler handler) {
            this.handler = handler;
        }
        @Override
        public void run() {
            handler.sendEmptyMessage(Message.PLAY);
        }
    }
    

    源代码地址:https://github.com/zhouyang209117/AndroidTutorial/tree/master/Crazy/ch3/HandlerMsg

  • 相关阅读:
    HTTP报文语法/HTTP组成
    get和post的区别
    Jmeter图形结果
    Jmeter用表格查看结果
    Jmeter聚合报告
    Jmeter查看结果树
    Jmeter集合点
    Jmeter-BeanShell Sampler调用java代码
    Jmeter简单的接口测试
    get、post接口测试-java
  • 原文地址:https://www.cnblogs.com/zhouyang209117/p/5108048.html
Copyright © 2020-2023  润新知