本文只看用法,不说其他。
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);