Android - 初心者 - Handler
上一章講過了,要背景作業,可以透過AysncTask 及Thread
而Thread需要搭配Handler ,當然AysncTask也可以搭配Handler
而且我這次實作進度表這種功能,就需要Handler才能做得到,就是定期的回報,交給Handler更新UI畫面。
private Handler mProgressHandler = new Handler(){
@Override
public void handleMessage(Message msg) {
mTvProgress.setText("進度:"+msg.what+"%");
}
};
而我就可以在Thread或AsyncTask呼叫傳送Message資料給Handler,就會將Message進入MessageQueue,再來就會被傳送到Handler進行處理
public void sendProgress(int progress){
Message msg = new Message();
msg.what = progress;
mProgressHandler.sendMessage(msg);
}