2012-02-06 118 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();