Handler的使用

一、Handler使用步骤

  

//这个是Activity中的Handler

Handler mHandler = new Handler (){

  

}

1.//创建Activity当中的Messenger

Messenger  messenger = new Messenger(mHander);   //把Activity的Handler包装进去

2.//创建消息

Message msg = new Message();

msg.what = 1;

msg.replyTo =  messenger;

3. //使用Service的Messenger发送Activity的Messenger

mServiceMessenger.send(msg);

--------------------------------------------------------------------------------------

handler.post(Runnable) : 可以更新当前的UI信息

handler.postDelayed(Runnable , 2000);  : 按照时间从小到大取排列插入队列并且更新信息

Message msg = handler.obtainMessage();

Message msg = new Message();

handler.removeCallbacks(Runnable) ;     :  移除当前UI线程的信息,不在进行信息的更新

Handler  handler = new Handler(){

  public void handleMessage(Message msg){      :   重写handleMessage来接受handler发送过来的信息

  ........

  }

}

对比上面的代码:

private Handler handler = new Handler(new Handler.Callback() {
@Override
public boolean handleMessage(Message msg) {
     true : 下面的void handleMessage数据被劫走,不会进行显示
     false: 下面的void handleMessage数据不会被劫走,数据进行显示

return true; (return false)
}
}){
@Override
public void handleMessage(Message msg) {
textView.setText("" + msg.arg1);
}
};
原文地址:https://www.cnblogs.com/liunx1109/p/9761500.html