一、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); } };