2013-04-30 66 views
0

我是一個「新鮮的」Android開發人員,我嘗試了水平ProgressBar。 我有一個小問題,進度停在中間,直到酒吧結束才繼續。Android水平progresbar進度停在中間

你能幫助我嗎?

這是我的代碼

progress=0; 
mProgress = (ProgressBar) findViewById(R.id.progressBar1); 
mProgress.setMax(200); 


// Start lengthy operation in a background thread   
new Thread(new Runnable() 
{    
    public void run() 
    {     

     while (mProgressStatus < 100) 
     {      

      mProgressStatus = doWork();      
      // Update the progress bar      
      mHandler.post(new Runnable() 
      {       
       public void run() 
       {        
        mProgress.incrementProgressBy(20); 
        mProgress.setProgress(mProgressStatus);       
       }      
      });     
     } 

     // Cache la progressBar 
     mHandler.post(new Runnable() 
     { 

      @Override 
      public void run() 
      { 
       mProgress.setVisibility(4); 
    } 
    }); 

    } 
    //---------------------------------Work to do----------------------- 
    private int doWork() 
    { 
     try{ 
      Thread.sleep(50);//5 secondes 
     }catch(InterruptedException e) 
     { 
      e.printStackTrace(); 
     } 
     return ++progress; 
    } 
    //------------------------------------------------------------------ 

}).start(); 
    } 
+0

您的實際錯誤是什麼?你堅持什麼? – DaveHogan 2013-04-30 13:23:52

回答

0

你的進度條最大值設置爲200:

mProgress.setMax(200); 

,後來在你的代碼時停止加註到100(半滿)。將最大值設置爲100或繼續運行直到200.