Handler兩種使用方法

post

public class PostActivity extends Activity {

    private Handler mHandler = new Handler();

    class DownloadThread extends Thread{

        @Override
        public void run() {
            super.run();
            try{
                Thread.sleep(5000);
                Runnable runnable = new Runnable() {
                    @Override
                    public void run() {
                        //更新UI
                    }
                };
                mHandler.post(runnable);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }
    }
}

sendMessage

public class SendMessage extends Activity {

    private Handler mHandler = new Handler(){
        @Override
        public void handleMessage(Message msg) {
            switch (msg.what){
                case 1:
                    //更新UI
                    break;
            }
        }
    };

    class DownloadThread extends Thread{
        @Override
        public void run() {
            try {
                Thread.sleep(5000);
                Message msg = new Message();
//                Message msg = Message.obtain();  可以避免重復創建消息對象
//                Message msg = mHandler.obtainMessage(); 可以避免重復創建消息對象
//message有what,arg1/arg2(政協數據),obj
                msg.what = 1;
                mHandler.sendMessage(msg);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }
    }
}
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容