2013-04-30 67 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.