一、概述
与显示相关的操作要放到UI线程里操作。除了用Handler发送Task到UI线程显示外,还有另外一种方法runOnUiThread方式确保显示操作运行在UI线程。
二、实例
【代码要点】
Handler方式
- new Thread(new Runnable(){
- @Override
- public void run() {
- // TODO Auto-generated method stub
- while (progressStatus < 10) {
- //比如doWork在做网络下载任务的话,返回progressStatus值来更新progressBar的进度。
- progressStatus = doWork();
- // Update the progress bar
- mHandler.post(new Runnable() {
- public void run() {
- mProgress.setProgress(progressStatus);
- }
- });
- }
- }
- }).start();
runOnUiThread方式
- new Thread(new Runnable(){
- @Override
- public void run() {
- // TODO Auto-generated method stub
- while (progressStatus < 10) {
- //比如doWork在做网络下载任务的话,返回progressStatus值来更新progressBar的进度。
- progressStatus = doWork();
- // Update the progress bar
- ProgressBarTest.this.runOnUiThread(new Runnable(){
- @Override
- public void run() {
- // TODO Auto-generated method stub
- mProgress.setProgress(progressStatus);
- }
- });
- }
- }
- }).start();