Android水平进度栏进度停在中间

时间:2013-04-30 13:05:39

标签: android progress-bar loading android-progressbar

我是一个“新手”Android开发人员,我尝试了横向ProgressBar。 我有一点问题,进度在中间停止,直到结束时才继续。

你能帮我吗?

这是我的代码

    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();
    }

1 个答案:

答案 0 :(得分:0)

您将进度条最大值设置为200:

mProgress.setMax(200);

以后在代码中,当它升至100(半满)时停止。将最大值设置为100或保持运行直到200.