初识Handler - 基本用法,只说怎么用,不看原理

    技术2022-07-11  93

    目录:

    基本用法传值处理定时处理

    本文只看用法,不说其他。

    一、基本用法

    1、定义Handler

    android.os.Handler handler = new Handler() { @Override public void handleMessage(final Message msg) { //这里接受并处理消息 } };

    2、传递消息,等待处理

    //发送消息 handler.sendMessage(message); handler.post(runnable);

    二、传值多处理

    1、定义,并写入处理事项

    private Handler mHandler = new Handler() { public void handleMessage(Message msg) { switch (msg.what) { case 200: //获取传过来的值 int delay = msg.getData().getInt("delay"); String dog = msg.getData().getString("dog"); //处理关于UI的事项 //。。。 break; default: break; } }; };

    2、传值

    Message message = new Message(); message.what = 200; //传值,可以传入不同类型,这里只简单示例 Bundle bundle = new Bundle(); bundle.putInt("delay", 123); bundle.putString("dog","dog"); message.setData(bundle); mHandler.sendMessage(message);

    三、定时处理

    1、用法1:

    new Handler().postDelayed(new Runnable() { @Override public void run() { //执行代码 } }, 10000);

    2、用法2:

    //创建一个Handler对象 Handler mHandler = new Handler(); //然后创建一个Runnable对象 Runnable runnable = new Runnable(){ @Override public void run() { mHandler.postDelayed(this, 2000); //两秒后你要做的事情,在这里实现: //你要吃饭??? //你要干啥 } }; //在你需要的地方,使用PostDelayed方法,两秒后将调用此Runnable对象。 mHandler.postDelayed(runnable, 2000); //关闭此定时器 mHandler.removeCallbacks(runnable);
    Processed: 0.017, SQL: 9