为GUI操作同步线程
Handler类允许你把一个Ruannable传递(post)到创建该Handler的线程中。下面的代码显示了使用Handler来更新UI线程的框架
// 在主线程中初始化一个Handler
private Handler handler = new Handler();
private void mainProcessing() {
Thread thread = new Thread(null,doBackgroundThreadProcessing, "Background");
thread.start();
}
private Runnable doBackgroundThreadProcessing = new Runnable() {
public void run() {
backgroundThreadProcessing();
}
};
//在后台进程操作的方法
private void backgroundThreadProcessing() {
[ ... Time consuming operations ... ]
handler.post(doUpdateGUI);
}
//执行更新GUI方法的Runnable
private Runnable doUpdateGUI = new Runnable() {
public void run() {
updateGUI();
}
};
private void updateGUI() {
[ ... Open a dialog or modify a GUI element... ]
}