Android - 初心者 - Handler

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);
    }