2012-02-06 106 views
0

我有一個測試用例,作爲它的一部分,我需要在UI上使用線程同時顯示兩個進度條。是否有可能,如果可能的話,任何人都可以幫助我?同時讀寫SD卡

回答

2

您可以使用兩個線程來顯示兩個進度條像下面

final ProgressBar p1 = (ProgressBar) this.findViewById(R.id.progressBar1); 
    final ProgressBar p2 = (ProgressBar) this.findViewById(R.id.progressBar2); 
    p1.setMax(20); 
    p2.setMax(20); 
    Thread thread = new Thread() 
    { 
     @Override 
     public void run() { 
      try { 


       Looper.prepare(); 
       while(seconds1 > 0) { 
        sleep(1000); 
        seconds1--; 

        runOnUiThread(new Runnable() { 
         @Override 
         public void run() { 
          p1.setProgress(seconds1); 


         } 
        }); 

       } 

      } catch (InterruptedException e) { 
       e.printStackTrace(); 
      } 
     } 
    }; 

    thread.start(); 

    Thread thread2 = new Thread() 
    { 
     @Override 
     public void run() { 
      try { 


       Looper.prepare(); 
       while(seconds2 < 20) { 
        sleep(1000); 
        seconds2++; 

        runOnUiThread(new Runnable() { 
         @Override 
         public void run() { 
          p2.setProgress(seconds2); 


         } 
        }); 

       } 

      } catch (InterruptedException e) { 
       e.printStackTrace(); 
      } 
     } 
    }; 

    thread2.start();