Handler允许你发送和处理信息,Runnable对象与线程的MessageQueue相关联。每个Handler实例与一个线程和线程的消息队列相关联。当你创建一个一个新的消息处理程序,它将被绑定到创建他的消息线程。
Hander有两种主要的用途:调度信息以及在未来的某一刻将被执行。在不同的线程排列动作。
实现调度信息可以使用以下方法** post(Runnable)
,post(Runnalbe, long)
,postDelayed(Runnalbe,long)
,sendEmptyMessage(int)
,sendMessage(Message)
,sendMessageAtTime(Message,long)
,sendMessageDelayed(Message,long)
**方法,post版本的方法允许你排队Runalbe对象,当messagequeue收到对象时可以调用,sendMessage版本允许你排队Message对象包含一个bundle对象储存数据然后调用handlemessage(message)方法进行处理。
当Handler接受post 或者 send方法,你
Return | Func |
---|---|
interface | Handler.Callback 回调接口 |
Public Constructors |
---|
Handler() 当前线程Looper绑定的handler的默认构造器 |
Handler(Handler.Callback callback) |
Handler(Looper looper) 使用提供的Looper替代默认的 |
Handler(Looper looper,Handler.Callback callback) |
Return | Func |
---|---|
void | dispathMessage(Message msg) Handle system message here |
final void | dump(Printer pw , String prefix) |
final Looper | getLooper() |
String | getMessageName(Message message)返回message标记的名字 |
void | handleMessage(Message msg)在子类中必须实现以处理接受到的消息 |
final boolean | hasMessage(int what,object object)查看消息队列中是否有message 包含what 代码 以及 object对象 |
final boolean | hasMessage(int what) 查看消息队列中是否有message 包含what代码 |
final Message | obtainMessage(int what, int arg1, int arg2)匹配消息池中包含what,arg1,arg2成员,并且返回该消息 |
final Message | obtainMessage() 从全局消息池中返回一个新的消息 |
final Message | obtainMessage(int what, int arg1,int arg2, Object obj) |
final Message | obtainMessage(int what) |
final Message | obtainMessage(int what,Object obj) |
final boolean | post(Runalble r)将Runalbe r 添加到消息队列 |
final boolean | postAtFrontQueue(Runable r) |
网友评论