进度栏更新导致黑屏

时间:2019-02-20 05:09:33

标签: android android-progressbar

我正在尝试更新进度条,但是每当我使用进度条时它都会显示黑屏。一旦我注释了进度条增量的一部分,我的代码就可以正常工作。有人可以帮我解决我做错了什么吗?

    new Runnable() {
        @Override
        public void run() {
            for(int i = 0; i < timeout; i++) {
                handler.post(new Runnable() {
                    @Override
                    public void run() {
                        progressbar.incrementProgressBy(1);
                    }
                });

                try {
                    Thread.sleep(1000);
                }
                catch(Exception e) {}
            }
        }
    }.run();

2 个答案:

答案 0 :(得分:2)

只需在您的主线程上使用此代码。

 new CountDownTimer(3000, 300) {
        @Override
        public void onTick(long l) {

            progress = progress + 10;
            pb.setProgress(progress);

        }

        @Override
        public void onFinish() {

            pb.setProgress(100);


        }
    }.start();

答案 1 :(得分:2)

使用线程,您可以这样做...

public void loadProgressbar()
{
    progressBar.setMax(100);
    progressBar.setProgress(0);

    new Thread(new Runnable() {
        @Override
        public void run() {
            for (progress = 0; progress <= 100; progress++) {

                handler.post(new Runnable() {
                    public void run() {
                        progressBar.setProgress(progress);
                    }
                });


                try {
                    Thread.sleep(50);
                } catch (Exception ex) {
                }
            }
        }
    }).start();
}