一、概述
與顯示相關的操作要放到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();