Android开发——通过子线程更新界面UI

2014-11-24 01:01:12 · 作者: · 浏览: 5

所以,android提供了一种消息机制来实现子线程更新UI的需求,android提供Handler类,用于子线程和主进程交互。在主进程中,声明实例化一个Handler,并重写它的handleMessage方法。

private Handler handler = new Handler(){
@Override
public void handleMessage(Message msg) {
int i = (Integer) msg.obj;
tView.setText("hello world "+i);
super.handleMessage(msg);
}

};


在子线程中,调用的Handler的sendMessage方法,android主线程就会调用HandleMessage方法来处理。


Thread thread = new Thread(){
@Override
public void run() {
for (int i = 0; i < 1000; i++) {
try {
sleep(500);
} catch (Exception e) {
// TODO: handle exception
}
Message msg = new Message();
msg.obj = i;
handler.sendMessage(msg);
}
super.run();
}


Handler