设为首页收藏本站
机战Z2破界篇 星组汉化 下载

星组游戏论坛

 找回密码
 注册(QQ注册+邀请注册)

QQ登录

只需一步,快速开始

查看: 850|回复: 0

[心得] 关于Handler的使用 [复制链接]

Rank: 11Rank: 11Rank: 11Rank: 11

UID
98177
星币
23
积分
9
阅读权限
90
注册时间
2013-4-11
最后登录
2014-1-16
发表于 2013-5-8 18:02:04 |显示全部楼层
一、Handler定义
( K" h9 R/ p" _& k9 a   主要接受子线程发送的数据, 并用此数据配合主线程更新UI
* w9 y3 b' v& Z/ \" F" Z- v8 L二、Handler特点! ^2 m# |8 f8 u5 }5 S
    handler可以分发Message对象和Runnable对象到主线程中, 每个Handler实例,都会绑定到创建他的线程中(一般是位于主线程),) B- i. K; _8 F8 C' w2 o
    它有两个作用:
! V7 I; Y) x1 g       1、安排消息或Runnable 在某个主线程中某个地方执行
$ ]' I9 R3 b/ \2 W8 e% n6 Z       2、安排一个动作在不同的线程中执行) b5 a+ s$ S" E% Z: y; J4 L
    子类需要继承Hendler类,并重写handleMessage(Message msg) 方法, 用于接受线程数据% f) s! ]9 F# C  a( S9 y
    例如:  k/ v3 g% d, w( j6 v
    Handler handler=new Handler(){: @& b, J# U3 ^9 h+ r0 q
     public void handleMessage(Message msg){
4 n' F! D! \" \& v0 M      9 e/ L/ J( i9 F9 m  r8 c3 Z$ q
     }$ g- |/ Z) i0 s! M: u5 e& J
    };
- w; E/ ~3 F; u: ^0 Q三、Handler中分发消息的一些方法
# y* b: Z# {$ G( ^6 u" ^    post(Runnable)4 @+ f' @4 {$ h% x, j
    postAtTime(Runnable,long)5 }5 t; s" r* s, I) {  z8 v2 B
    postDelayed(Runnable long)
/ j& L8 V' n( r5 C6 m    sendEmptyMessage(int)/ C7 S) `: \! U
    sendMessage(Message); L0 J1 {! e8 |
    sendMessageAtTime(Message,long)! V# S  \$ o. c3 j$ f- W7 E  ^
    sendMessageDelayed(Message,long)
! Y. v/ y' L5 b4 M+ p5 `/ }3 K* ~; ^9 A; [4 }9 \# l2 T
已有 1 人评分星币 收起 理由
绝世爱笑 + 1 这样才算爱过~

总评分: 星币 + 1   查看全部评分

Archiver|星组游戏论坛 ( 京公网安备110403080002 )  

GMT+8, 2019-2-22 20:47

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部