1. TimerTask 和 timer連用:android
這裏主要是實現倒計時,ide
TimerTask 裏面有方法runOnUiThread,在這個方法裏面調用timer cancel()中止倒計時,一樣更新UI也是在這裏實現的oop
2.使用looper更新UI界面post
這裏主要是隨時將處理後的數據交給UI更新,這時就要從新開啓一個線程來更新UI,android 提供了handler機制來實現這種通訊。線程
在Main線程裏面新開一個線程thread
Handler handler= newHandler(){date
@Override方法
public void handleMessage(Message msg){im
super.handleMessage(msg);總結
if(msg.what ==1){
textview.setText("更新後")
}
}
};
final Thread looperThread = new Thread(new Runable(){
@Override
public void run(){
Message message = new Message();
message.what =1;
handler.sendMessage(message);
}
});
在要觸發更新的地方調用looperThread.start();
3. Handler + Runnable實現:
Runnable update_runnable = new Runnable(){
@Override
public void run(){
handler.post(update_runnable);
}
}
Handler.post(update_runnable);
總結下:
1. 若是是要傳遞狀態值等信息的,就用handler+thread。
2. 若是隻是更新UI,能夠用Handler + runnable實現。
3. 若是是倒計時,就用TimeTask + Timer去實現。